Dynamo: Amazon’s Highly Available Key-value Store Flashcards

1
Q

Problem: Partitioning
Technique: ___

A

Consistent hashing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Technique: Consistent hashing
Advantage: ___

A

Incremental scalability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Problem: High availability for writes
Technique: ___

A

Vector clocks with reconciliation during reads

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Technique: Vector clocks with reconciliation during reads
Advantage: ___

A

Version size is decoupled from update rate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Problem: Handling temporary failures
Technique: ___

A

Sloppy Quorum and hinted handoff

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Technique: Sloppy Quorum and hinted handoff
Advantage: ___

A

Provides high availability and durability guarantees when some replicas are unavailable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Problem: Recovering from permanent failures
Technique: ___

A

Anti-entropy using Merkle trees

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Technique: Anti-entropy using Merkle trees
Advantage: ___

A

Synchronizes divergent replicas in the background

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Problem: Membership failure and detection
Technique: ___

A

Gossip-based membership protocol and failure detection

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Technique: Gossip-based membership protocol and failure detection
Advantage: ___

A

Preserves symmetry and avoids using a central registry for node membership and availability information

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Incremental scalability

A

scale out one node at a time with minimal impact on system & operators

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Symmetry

A

each node has the same responsibilities as its peers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Decentralization

A

an extension of symmetry, favouring peer-to-peer techniques over centralized control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Design consideration: heterogeneity

A

work distribution must be proportional to the capabilities of individual servers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Random position assignment in consistent hashing leads to ___

A

non-uniform data and load distribution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Consistent hashing ignores ___

A

heterogeneity in the performance of individual nodes

17
Q

Dynamo addresses problems with consistent hashing by ___

A

assigning each physical node to multiple points in the ring using virtual nodes

18
Q

When a (virtual) node becomes unavailable:

A

the load handled by this node is evenly dispersed across the remaining available nodes

19
Q

When a new / newly available (virtual) node joins:

A

the new node accepts a roughly equivalent amount of load from each of the other available nodes

20
Q

Using virtual nodes takes advantage of heterogeneity by:

A

assigning a proportional amount of virtual nodes to the physical node based on its capacity

21
Q

Dynamo’s view of data versions

A

Dynamo treats each modification as a new and immutable version of the data

22
Q

syntactic reconciliation

A

system determines the authoritative version of the data (i.e. timestamps)

23
Q

semantic reconciliation

A

client collapses multiple branched versions of the data into one version

24
Q

vector clock

A

list of (node, counter) paris associated with every version of every object

25
Q

hinted handoff

A

data intended for node A is instead stored on node B, with a “hint” that its intended recipient is A, and can be stored on A once it recovers

26
Q

sloppy quorum

A

all read and write operations are performed on the first N healthy nodes from the preference list