Raft
Spanner
- Linearizability
- In concurrent programming, an operation (or set of operations) is atomic, linearizable, indivisible or uninterruptible if it appears to the rest of the system to occur instantaneously.
- Google全球级分布式数据库Spanner原理
- 从Google Spanner漫谈分布式存储与数据库技术
- Google NewSQL之Spanner
- GOOGLE分布式数据库技术演进研究–从Bigtable、Dremel到Spanner(三)
- Wilson Hsieh - Spanner: Google’s Globally-Distributed Database - OSDI 2012
TAO
- TAO: Facebook’s Distributed Data Store for the Social Graph
- Write-through cache
- Objects are sharded by their ids
- Why use invalidate/refill message to update rather than update follower tier cache directly?
- followers may not store this cache
- make cache consistency message idempotence
- Leader cache could be used to deal with thundering herd problem