Dynamo: Amazon’s Highly Available Key-value Store Flashcards
Problem: Partitioning
Technique: ___
Consistent hashing
Technique: Consistent hashing
Advantage: ___
Incremental scalability
Problem: High availability for writes
Technique: ___
Vector clocks with reconciliation during reads
Technique: Vector clocks with reconciliation during reads
Advantage: ___
Version size is decoupled from update rate
Problem: Handling temporary failures
Technique: ___
Sloppy Quorum and hinted handoff
Technique: Sloppy Quorum and hinted handoff
Advantage: ___
Provides high availability and durability guarantees when some replicas are unavailable
Problem: Recovering from permanent failures
Technique: ___
Anti-entropy using Merkle trees
Technique: Anti-entropy using Merkle trees
Advantage: ___
Synchronizes divergent replicas in the background
Problem: Membership failure and detection
Technique: ___
Gossip-based membership protocol and failure detection
Technique: Gossip-based membership protocol and failure detection
Advantage: ___
Preserves symmetry and avoids using a central registry for node membership and availability information
Incremental scalability
scale out one node at a time with minimal impact on system & operators
Symmetry
each node has the same responsibilities as its peers
Decentralization
an extension of symmetry, favouring peer-to-peer techniques over centralized control
Design consideration: heterogeneity
work distribution must be proportional to the capabilities of individual servers
Random position assignment in consistent hashing leads to ___
non-uniform data and load distribution