目录
前言
主要讲了有一定consistency保证的情况下有很不错性能的DB方案Causal Consistency, 其中notion of dependency一定程度上解决了写在不同servers上异步的特点
一、geo-replication
1.1 Spanner
– 通过Paxos保证强consistency
– Two phase commit
– no one site can --write on its own
– but has read transactions, consistent, fairly fast
1.2 Memchche
– 写操作只能通过primary site完成
– read非常快
1.3 新的需求
– 写操作可以再任何server上进行
– 先满足performance再满足consistency
二、预备方案One
每个server都可以有写操作,然后再同步给其它server
这个属于"eventually consistent" design
特点
- clients may see updates in different orders
- if no writes for long enough, all clients see same data
a pretty loose spec, many ways to implement, easy to get good performance
used in deploy