一致性 (数据库)

在数据库系统中,一致性(或正确性)是指任何给定的数据库事务必须仅以允许的方式更改受影响的数据的要求。 写入数据库的任何数据都必须根据所有定义的规则有效,包括约束、级联、触发器及其任意组合。 这并不能保证应用程序程序员可能希望的所有方式(这是应用程序级代码的责任)事务的正确性,而只是保证任何编程错误都不会导致违反任何已定义的数据库约束。

一致性也可以理解为在一条Record的写入、更新或删除成功后,任何读取请求都会立即收到该Record的最新值。

作为 ACID 保证

一致性是定义 ACID 事务的四大保证之一; 然而,这种保证的性质存在很大的歧义。 它被不同地定义为:

  • 保证不违反数据库约束,尤其是在事务提交后。
  • 保证未来开始的任何交易必然会看到过去提交的其他交易的影响。

由于这些不同的定义并不相互排斥,因此可以设计一个系统来保证在每个词义上的一致性,正如当今普遍使用的大多数关系数据库管理系统所做的那样。

一致性 (数据库)

作为 CAP 权衡

CAP 定理基于三个权衡,其中之一是原子一致性(缩写为一致性),作者指出,讨论原子一致性与谈论 ACID 数据库有些不同,因为数据库一致性指的是 事务,而原子一致性仅指单个请求/响应操作序列的属性。 在 CAP 定理中,您只能拥有以下三个属性中的两个:一致性、可用性或分区容错性。 因此,在某些数据库系统中可能必须权衡一致性。

0

点评

点赞

相关文章