merkle tree to track changes
coordinated at the vnode level
runs as a background process
exchange with
neighbor vnodes for inconsistencies
resolution semantics:
trigger read-repair
Slide 40
Slide 40 text
= hashes marked dirty
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
No content
Slide 44
Slide 44 text
No content
Slide 45
Slide 45 text
= keys to read-repair
Slide 46
Slide 46 text
Riak and Consistency
Slide 47
Slide 47 text
Riak Object
Slide 48
Slide 48 text
BKey Value
Slide 49
Slide 49 text
Consistent hashing; dynamic membership
Data Placement
Slide 50
Slide 50 text
No content
Slide 51
Slide 51 text
No content
Slide 52
Slide 52 text
No content
Slide 53
Slide 53 text
Replication per-value across ring
Data Placement
Slide 54
Slide 54 text
Replica Replica Replica
Slide 55
Slide 55 text
Take the form: {Writer, Value, Time}
Concurrent writes
Distributed Consensus
The problem of reaching agreement among remote
processes is one of the most fundamental problems in
distributed computing and is at the core of many
algorithms for distributed data processing,
distributed file management, and fault-tolerant
distributed applications.
Fischer, Lynch, Paterson
Slide 108
Slide 108 text
Termination, agreement, validity
The Consensus Problem
Slide 109
Slide 109 text
All processes eventually decide on a value
Termination
Slide 110
Slide 110 text
All processes decide on the same value
Agreement
Slide 111
Slide 111 text
Value decided on had to have been proposed
Validity
Slide 112
Slide 112 text
Consensus Algorithms
Slide 113
Slide 113 text
Paxos, ZAB, Raft, etc.
Consensus Algorithms
Slide 114
Slide 114 text
Coordinated requests with a chosen leader
The Paxos Algorithm