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 56
Slide 56 text
= hashes marked dirty
Slide 57
Slide 57 text
No content
Slide 58
Slide 58 text
No content
Slide 59
Slide 59 text
No content
Slide 60
Slide 60 text
No content
Slide 61
Slide 61 text
= keys to read-repair
Slide 62
Slide 62 text
Riak and Consistency
Slide 63
Slide 63 text
Riak Object
Slide 64
Slide 64 text
BKey Value
Slide 65
Slide 65 text
Consistent hashing; dynamic membership
Data Placement
Slide 66
Slide 66 text
No content
Slide 67
Slide 67 text
No content
Slide 68
Slide 68 text
No content
Slide 69
Slide 69 text
Replication per-value across ring
Data Placement
Slide 70
Slide 70 text
Replica Replica Replica
Slide 71
Slide 71 text
High Availability
…any non-failing node can respond to any request
Gilbert & Lynch
Slide 72
Slide 72 text
Eventual Consistency
Eventual consistency is a consistency model used in
distributed computing that informally guarantees that, if no
new updates are made to a given data item, eventually all
accesses to that item will return the last updated value.
Wikipedia
Slide 73
Slide 73 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 95
Slide 95 text
Termination, agreement, validity
The Consensus Problem
Slide 96
Slide 96 text
All processes eventually decide on a value
Termination
Slide 97
Slide 97 text
All processes decide on the same value
Agreement
Slide 98
Slide 98 text
Value decided on had to have been proposed
Validity
Slide 99
Slide 99 text
Consensus Algorithms
Slide 100
Slide 100 text
Paxos, ZAB, Raft, etc.
Consensus Algorithms
Slide 101
Slide 101 text
Coordinated requests with a chosen leader
The Paxos Algorithm