Claret notes


  • Promote a data-structure-store design paradigm: build your applications out of known data types so that the system can reason about commutativity, replication, etc, and you can use strict consistency
  • Use commutativity to avoid falling over from contention on bursty, skewed, update-heavy workloads
    • i.e. Ellen retweet, Truffle auction, Reddit
  • Apply abstract locks (from database and multi-core STM communities) to distributed ad-hoc applications like those that use Redis
  • Faster, better, linearizable, transactional Redis.


  • to apply ideas from combining and abstract locks to distributed transactions
  • avoid hotspots automatically by splitting/replicating on the fly
  • apply a more rigorous notion of serializability and consistency on data structures
  • more generalized notion of commutative ops make transactions more efficient (allow them to commit even while operating on replicas, more concurrency)
  • better programming model that allows complex operations to be efficiently/scalably executed
    • other systems require inventing new operators with dif