Open baiwfg2 opened 3 years ago
🍑 [4] https://fauna.com/blog/serializability-vs-strict-serializability-the-dirty-secret-of-database-isolation-levels ,区分serializability 和 strict serializability
The second (but related) limitation of serializability is that the serial order that a serializable system picks to be equivalent to doesn’t have to be at all related to the order of transactions that were submitted to the system. A transaction Y that was submitted after transaction X may still be processed in an equivalent serial order with Y before X.
This stale read would not be a violation of serializability. It is equivalent to a serial order of the second transaction prior to the first ??
Transaction reordering of this kind is very common in this type of example where the transactions access disjoint data (checking balance vs savings balance) if the disjoint data are located on different machines in a distributed system
声称Fauna 没有使用 逻辑时钟方法来保证 strict seria,这种方法比 spanner 好
The bottom line is that if Fauna is configured to be strictly serializable for all transactions, then stale reads will never happen. Every read issued by an application is guaranteed to reflect the writes of transactions that have completed prior to when the read was issued
[5] https://coolshell.cn/articles/10910.html, 皓叔讲分布式事务
[1] https://github.com/rystsov/awesome-distributed-transactions , 关于DT 的论文, Denis Rystsov
[2] omid reloaded: 高可用事务处理, Yahoo, fast17 https://www.usenix.org/conference/fast17/technical-sessions/presentation/shacham
Apache Tephra 用到了omid 思想,在HBase 基础上提供cross-region, cross-table , multi-RPC 的事务能力
Apache Phoenix 利用 Tephra 在Hbase 基础上加入 SQL 能力
[2.1] https://www.youtube.com/watch?v=3UhY0mFFaSs , omid 分享
[3] percolator, google, 2010