CRAQ Paper

Our basic approach, an improvement on Chain Replication, maintains strong consistency while greatly improving read throughput.

  • The original chain-replication model logically maintains a chain of all nodes storing a given object (KV)
    • The head of the chain serves writes, and the write is only successful when the it propagates all the way down the chain.
    • The tail of the chain serves reads.
    • Read hotspots/bottlenecks
  • Apportioned queries refers to dividing (strongly consistent) read operations over all nodes in the chain
  • Performance matches eventually consistent systems for “read-mostly” workloads
  • Consistency level is tunable - you can elect to receive a stale read during times of heavy write contention
  • Geographically diverse clusters
  • Uses Zookeeper for deployments