Notes and highlights from the paper, added as I read.
Dynamo uses a synthesis of well known techniques to achieve scalability and availability: Data is partitioned and replicated using consistent hashing, and consistency is facilitated by object versioning.
Key ideas
- Consistent hashing for partitioning and replication
- Vector clocks for conflict resolution
- Sloppy quorum and hinted handoff for availability during network partitions