ACID数据库模型

ACID保护您的数据库的数据

数据库设计的ACID模型是数据库理论中最古老也是最重要的概念之一。 它提出了每个数据库管理系统必须努力实现的四个目标:原子性,一致性,隔离性和持久性。 不能满足这四个目标中的任何一个的关系数据库不能被认为是可靠的。 拥有这些特性的数据库被认为符合ACID标准。

ACID定义

让我们花点时间仔细检查每个特征:

ACID在实践中的工作原理

数据库管理员使用多种策略来强制执行A​​CID。

一种用于强制原子性和持久性的方法是预写式日志记录 (WAL),其中任何事务细节首先被写入到包含重做和撤消信息的日志中。这确保了在任何类型的数据库故障的情况下,数据库可以检查日志并将其内容与数据库的状态进行比较。

用于解决原子性和持久性的另一种方法是阴影分页 ,其中在要修改数据时创建阴影页面。 查询的更新被写入影子页面而不是数据库中的真实数据。 数据库本身仅在编辑完成时才被修改。

另一种策略称为两阶段提交协议,在分布式数据库系统中尤其有用。 该协议将修改数据的请求分为两个阶段:提交请求阶段和提交阶段。 在请求阶段,网络上受交易影响的所有DBMS必须确认他们已收到并有能力执行交易。 一旦从所有相关的DBMS接收到确认,提交阶段就会完成,其中数据实际上被修改。