数据库必知词汇:ACID

简介: 对于关系型数据库的事务而言,具有四个强一致性(Strong Consistency)要求,也称为ACID.

对于关系型数据库的事务而言,具有四个强一致性(Strong Consistency)要求,也称为ACID:
(1) 原子性(Atomicity):
事务里的所有操作要么全都执行完成,要么全都不执行。只要有一个操作失败,整个事务就失败,事务会回滚至它们最初的状态。
(2) 一致性(Consistency):
数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
(3) 隔离性(Isolation):
事务的执行不被其他事务干扰。如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。
(4) 持久性(Durable):
一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现系统故障也不会丢失。

在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。由于一项操作通常会包含许多子操作,而这些子操作可能会因为硬件的损坏或其他因素产生问题,要正确实现ACID并不容易。ACID建议数据库将所有需要更新以及修改的资料一次操作完毕,但实际上并不可行。

目前,数据库管理员通常使用以下几种策略来执行ACID。一种增强原子性和持久性的方法是使用Write-ahead logging策略,在这种策略下任何事务细节都首先写入日志,其中包括重做和撤消信息。这种方法可以确保在任何类型的数据库故障情况下,数据库都可以检查日志并将其内容与数据库的状态进行比较。

另一种增强原子性和持久性的方法是影子分页(Shadow-paging).在这种方法中,当需要修改数据时则创建一个影子页面。对于数据的更新请求会被写入影子分页中,而不是写入数据库中的实际数据,而只有在编辑完成时才会修改数据库本身。

还有一种策略称为两阶段提交协议,该策略在分布式数据库系统中非常有效。该协议将修改数据的请求分为两个阶段,即请求阶段和提交阶段。在请求阶段,受到事务影响的所有DBMS必须确认它们已经收到了事务并具有执行事务的能力。而所有相关的DBMS接收到确认之后,提交阶段就完成了,此时数据才会被真正地修改。

资料来源:
Wikipedia: ACID http://taggedwiki.zubiaga.org/new_content/95063fc8cca3e3b4a3238ead2d9aa83a
What does ACID mean in Database Systems? | Database.Guide https://database.guide/what-is-acid-in-databases/
The ACID Model for Database Management Systems https://www.lifewire.com/the-acid-model-1019731
What is ACID in Databases? - Definition from Techopedia https://www.techopedia.com/definition/23949/atomicity-consistency-isolation-durability-acid

相关文章
|
SQL 存储 关系型数据库
数据库事务——事务的特性(ACID)
数据库事务——事务的特性(ACID)
217 0
|
4月前
|
存储 安全 NoSQL
|
5月前
|
存储 Oracle 关系型数据库
Oracle数据库ACID特性
【7月更文挑战第6天】
122 6
|
7月前
|
数据库 数据库管理
理解数据库的ACID原则:确保数据完整性与一致性的基石
【5月更文挑战第20天】ACID原则是数据库事务处理的核心,包括原子性、一致性、隔离性和持久性。原子性保证事务操作全完成或全不完成,保持数据完整;一致性确保事务前后数据库保持一致性状态,不破坏完整性约束;隔离性防止并发事务相互影响,通过锁等技术实现;持久性则保证事务提交后的修改永久保存,即使系统故障也能恢复。这些原则确保了数据的可靠性和安全性。
|
关系型数据库 数据库
数据库如何保证事务的ACID特性?
数据库如何保证事务的ACID特性?
129 0
|
关系型数据库 MySQL 数据库
MySQL 数据库事务四大特征(ACID)
MySQL 数据库事务四大特征(ACID)
101 0
|
SQL 关系型数据库 MySQL
数据库并发控制、事物的四大特性、原子性、一致性、隔离性、持久性,简称ACID、事物的概念、数据概念(脏读,不可重复读,幻读)、封锁协议、一级封锁协议、二级封锁协议、三级封锁协议、最强封锁协议
数据库并发控制、事物的四大特性、原子性、一致性、隔离性、持久性,简称ACID、事物的概念、数据概念(脏读,不可重复读,幻读)、封锁协议、一级封锁协议、二级封锁协议、三级封锁协议、最强封锁协议
|
存储 SQL 缓存
【数据库】事务 ACID 实现原理 - 原子性 & 持久性
数据库 ACID 实现原理,Atomicity 原子性 和 Durability 持久性实现原理
322 1
|
SQL 关系型数据库 Java
数据库事务的ACID特性:
数据库事务的ACID特性:
178 0
数据库事务的ACID特性: