首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure CosmosDB一致性保证

Azure CosmosDB一致性保证
EN

Stack Overflow用户
提问于 2021-04-18 13:04:23
回答 1查看 146关注 0票数 2

微软在他们的文档中声明了一致的前缀一致性如下:

在一致性前缀选项中,返回的更新包含所有更新的一些前缀,没有空白。一致的前缀一致性级别保证从不会看到无序写入。

以下两段指出:

以下是一致前缀的一致性保证:

  • 单一写区域=一致前缀的帐户在同一区域的客户端的一致性
  • 单写区域=一致前缀的帐户在不同区域的客户的一致性
  • 客户端写入具有多个写入区域=一致前缀的帐户的单个区域的一致性
  • 客户端写入具有多个写入区域=最终的的帐户的多个区域的一致性

我真的不明白客户端如何为一个具有多个写区域的帐户编写多个区域,从而保证最终的一致性。由于一致的前缀一致性保证从不会看到无序写入,那么下面的语句(多次写)应该是错误的,因为它保证了最终的一致性。

有人能帮我找出我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-18 15:56:51

通常,一致性保证是在假设为单区域写入(单主)的情况下编写的.由于Cosmos DB提供了多区域写(多主)功能,因此需要进一步解释一致性保证,以便在不同数量的读者和作者(包括多主)的情况下详细说明服务的行为。

当您有多个写入器并使用多区域写入时,在帐户中配置的区域内本地写入的数据将在本地提交,然后在广域网上复制并合并到主区域中。一旦将数据合并到主区域中,就会将其复制回帐户中的所有其他区域。

因为这发生在WAN上,因此无法保证在多个次要区域中写入的数据将按照本地提交的顺序在主区域中进行复制和合并。数据在广域网中并不总是以相同的速度和速度复制。这既是因为区域之间的距离不同,也是因为WANs有时会有些片状。

因此,当使用多个写入器时,读取器只能得到最终的一致性保证。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67148876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档