Consistency Levels - pykello/pykello.github.com GitHub Wiki
Link: Demystifying Database Systems, Part 3: Introduction to Consistency Levels
CAP
PNUTS vs CAP
- Link: Problems with CAP, and Yahoo's little known NoSQL system
- Paper: PNUTS: Yahoo!’s Hosted Data Serving Platform
- Lecture Notes
(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