gpt4 book ai didi

database - 严格的可序列化和外部一致性之间的区别

转载 作者:行者123 更新时间:2023-12-02 09:47:08 26 4
gpt4 key购买 nike

我遵循这个great blog。在此博客中,作者对所有类型的隔离和一致性以及它们之间的关系进行了完整描述。
enter image description here

但是基于Google's blog,还有另一种称为External Consistency的一致性,由Google的Spanner数据库提供。据我了解:

External consistency = Strongly Consistency + Strict Serializable

经过一些研究,外部一致性的定义可能是:

For any two transactions, 𝑇1 and 𝑇2 (even if on opposite sides of the globe): if 𝑇2 starts to commit after 𝑇1 finishes committing, then the timestamp for 𝑇2 is greater than the timestamp for 𝑇1.



我仍然看不到 External consistencyStrict Serializability之间的区别。请给我一个示例,它满足 Strict Serializability,但不能满足 External Consistency

谢谢

最佳答案

可串行性要求事务看起来是顺序发生的。可串行化性不需要在与事务执行等效的串行时间表上进行任何特定的排序。
严格的可序列化性要求可序列化,但也要在串行调度的顺序上施加一个条件,事务执行等效于此:在另一个事务开始之前提交的事务必须首先出现。假设A在B开始之前提交-A必须在B之前生效。
对于单节点系统,这是免费提供的可序列化性,而且在这种情况下没有人真正讨论它。在分布式系统中,这非常困难。参见https://cs.brown.edu/~mph/HerlihyW90/p463-herlihy.pdf
外部一致性略有不同。外部一致性要求必须先出现在其他事务提交之前提交的事务。假设A在B提交之前提交了-A必须首先生效。有关外部一致性的定义,请参见here
此处的微妙区别是,严格的可序列化性不对并发事务施加任何顺序,而外部一致性则对所有事务施加总顺序。因此,从任何外部一致性系统也可以严格序列化的意义上来说,外部一致性是一个更强的条件。

关于database - 严格的可序列化和外部一致性之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60365103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com