References & Glossary for Key-Value Store
Consistency Models
Strong Consistency | any read operation returns a value corresponding to the result of the most updated write data item. A client never sees out-of-date data. |
---|---|
Weak Consistency | subsequent read operations may not see the most updated value. |
Eventual Consistency | this is a specific form of weak consistency. all updates are propagated and all replicas are consistent. |
Strong Consistency is achieved by forcing a replica not to accept new reads/writes until every replica has agreed on current write. This could block new operations.
Eventual consistency is the recommended model for a KV store.
Merkle Tree (https://brilliant.org/wiki/merkle-tree/#:~:text=A%20Merkle%20tree%20is%20a,has%20up%20to%202%20children. )
A Merkle tree is a hash-based data structure that is a generalization of the hash list. It is a tree structure in which each leaf node is a hash of a block of data, and each non-leaf node is a hash of its children. Typically, Merkle trees have a branching factor of 2, meaning that each node has up to 2 children.