首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >酸中的C不是CAP中的C吗?

酸中的C不是CAP中的C吗?
EN

Software Engineering用户
提问于 2017-12-25 10:17:30
回答 2查看 352关注 0票数 6

我们知道,对于数据库系统来说,酸性质中的一致性是缩略语的一部分:

原子性

C-一致性

I-隔离

D-耐久性

我们知道,对于NoSQL系统,帽定理中的一致性是缩略语的一部分:

C-一致性

A-可用性

P-划分公差

迈克尔·尼加德 写入

因此,事实证明“一致性(谓词)”和“一致性(历史)”是两个不同的概念,碰巧有一个词。将分布式系统定义的“一致性”替换为ACID中的C总是错误的。

我的问题是:酸中的C不是CAP中的C吗?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2017-12-25 11:53:44

我觉得意思有点不同。简言之:

  • ACID中的一致性意味着数据集可能是无效状态,或者表示事务提交后语义上无效的数据(“内部一致性”)。
  • CAP中的一致性意味着在执行事务之后,必须在所有副本中更新此数据集。
票数 5
EN

Software Engineering用户

发布于 2017-12-25 11:50:16

我想说的是,他们谈论同一件事的不同方面。

假设我们在CAP中失去了C。我们的一个数据库节点的更新还没有传播到另一个数据库节点。所述更新移除满足外键约束的行。

一个读取进入并击中更新的节点,检索Foreign。第二次读取进入并命中未更新的节点,检索主表。

现在,客户端拥有的数据似乎违反了FK约束。酸中的C

因此,您可以说,在服务器之间可能存在网络丢失的情况下,跨服务器应用一致(ACID)事务的困难导致CAP中的一致性问题。

现在,当您深入讨论细节时,讨论这种“泛型一致性”的想法并不是很有帮助,因为细节很重要,而且通常每个节点上都有一致的事务,问题在于将它们应用于所有节点。

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

https://softwareengineering.stackexchange.com/questions/362959

复制
相关文章

相似问题

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