我最近开始阅读一些Cosmos DB,发现它们有5个一致性设置,从强一致性到最终一致性,以及介于两者之间的所有设置。
假设我选择了一个强一致的设置。现在,如果我更新了某个社会保险号为123-45-6789的人的地址,然后立即尝试读取它,它会阻止我,直到它更新大多数副本吗?或者它只会给我旧的数据,直到所有所需数量的副本都更新完毕?
作为后续问题,如果它没有阻止我,是什么使强一致性数据库的延迟增加?
发布于 2020-03-30 14:55:26
是否只给我旧数据,直到所有所需数量的副本都更新完毕?
基于cosmos db consistency document中的澄清
强一致性提供了线性化,guarantee.The读取保证返回项目的最新提交版本。客户端永远不会看到未提交或部分写入。用户总是被保证读取最近提交的写操作。
因此,我认为在CAP theorem.After all之后,延迟是可以预测的,强一致性是以牺牲延迟为代价的,确保了高度的数据一致性。
如果您的方案是可接受的,上面的链接建议会话一致性级别,更重要的是,balanced.It提供了与最终一致性相当的写入延迟、可用性和读取吞吐量,但也提供了适合编写以在用户上下文中操作的应用程序需求的一致性保证。
https://stackoverflow.com/questions/60924522
复制相似问题