Consistency Levels - pykello/pykello.github.com GitHub Wiki

Link: Demystifying Database Systems, Part 3: Introduction to Consistency Levels

CAP

PNUTS vs CAP

(YCSB was developed for PNUTS)

  • Systems that sacrifice consistency tend to do so all the time, not just when there is a network partition.
  • Yahoo's PNUTS:
    • Relaxes consistency to "timeline consistency": Replicas may not be consistent with each other, but updates are guaranteed to be applied in the same order to all replicas.
    • Gives up availability: If the master replica for a particular data item is unreachable, that item becomes unavailable for updates.
    • It gives up consistency not for availability, but to lower latency.
      • Messages over WAN are costly

Why this paper?

  • Same goals as Spanner & memcache: Multi-region data replication -- facing 100ms network delays
  • Better semantics than memcache
  • Simpler than Spanner

Setup:

  • Regions all around the world
  • Each region has web servers & storage
  • Big point: Low latency via user contacting nearest region
  • Each region has all data