ACID和CAP定理的一致性,它们是一样的吗?

Yan*_*Xia 20 distributed-databases acid

根据我的理解,ACID 的一致性就是保证数据的完整性。

但是,CAP 中的一致性意味着数据可以在分布式系统中快速出现。

这是否意味着:它们不是同一个概念?

Rol*_*DBA 20

由于数据的范围,它们实际上并不相同

  • 一致性(所有节点通过最终一致性具有相同的数据)
  • 可用性
  • Partition-Tolerance :尽管任意消息丢失或系统部分故障,系统仍继续运行

概要

  • ACID 解决了单个节点的数据一致性问题
  • CAP 解决集群范围的数据一致性问题

  • 最终。最终应该是粗体,罗兰多。这是破坏交易的:)新年快乐! (2认同)

小智 5

CAP 定理:指定分布式系统可以提供两种服务(例如可用性和分区容错性),但不能提供三种服务。例如,如果一项服务提供可用性和分区,它永远无法确保一致性,而不是立即,因此使用最终一致性,这允许基础设施在不一致和一致性之间变化,但是在某一时刻,迟早,基础设施将变得一致,从而产生最终的一致性。云服务就是以这种方式工作的,亚马逊的 Simple DB 使用最终一致性。

ACID特性通常应用于关系型数据库。如果你想以分布式方式应用ACID(分布式DB),ACID使用2PC(两阶段提交)来强制跨分区的一致性。然而,由于 ACID 提供一致性和分区,因此将 CAP 定理应用于(分布式环境)这将意味着可用性受到损害。

因此,使用BASE (基本可用、软状态、最终一致),它可以提供 ACID 无法获得的可扩展性级别。

希望这可以帮助。