温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据库一致性指什么

发布时间:2026-10-30 19:19:59 来源:亿速云 阅读:96 作者:小樊 栏目:数据库

数据库一致性(Consistency)是数据库系统的核心概念之一,通常可以从两个层面理解:事务的 ACID 特性中的一致性,以及分布式/并发场景下数据状态的一致性。


一、ACID 中的“一致性(Consistency)”

在数据库事务的 ACID 特性中:

  • A(Atomicity)原子性
  • C(Consistency)一致性
  • I(Isolation)隔离性
  • D(Durability)持久性

这里的一致性是指:

事务执行前后,数据库都必须处于“合法、正确”的状态,满足所有预定义的约束和规则。

具体包括:

  • 主键、外键约束不被破坏
  • 唯一约束、非空约束成立
  • 业务规则(如“账户余额不能为负”)保持成立
  • 数据库从一个一致状态变到另一个一致状态

示例

银行账户 A 向 B 转账 100 元:

  • 转账前:A=500,B=300(一致)
  • 转账中:A=400,B=300(中间状态,不一致但允许)
  • 转账后:A=400,B=400(一致)

如果事务失败回滚,必须回到 A=500,B=300。

✅ 一致性靠:

  • 原子性(要么全做,要么全不做)
  • 隔离性(并发不互相干扰)
  • 约束机制(数据库规则)

二、并发与分布式中的一致性

在多用户、分布式系统中,“一致性”常指:

1. 单数据库并发一致性

多个事务同时操作数据时,结果要“看起来合理”:

  • 读已提交
  • 可重复读
  • 串行化

2. 分布式一致性(如 CAP 中的 C)

在分布式数据库中:

一致性 = 所有节点在同一时刻看到的数据是相同的

例如:

  • 向节点 A 写入数据
  • 立即从节点 B 读取,应能读到最新值

常见模型:

  • 强一致性:读到的一定是最新写入
  • 最终一致性:短时间可能不一致,但最终会一致
  • 弱一致性:不保证何时一致

三、一句话总结

  • 事务一致性:数据始终满足规则和约束
  • 系统一致性:不同地方看到的数据是“一致”的

如果你愿意,我也可以结合 MySQL / 分布式数据库 / 面试场景 给你更具体的解释。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手