黄东旭关于基础软件产品价值的思考
3005
2023-06-19
本文关于什么是ACID?它的特性是什么?ACID原则是什么的相关内容。
ACID是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。也因此,ACID就是数据库事务正确执行的四个基本要素的缩写。
另外,在上述内容中频繁出现的“事务”,其实际产生于系统中所遇到的各种各类的问题。比如,程序依托的操作系统层,硬件层可能随时都会发生故障;应用程序可能会随时发生故障;因网络中断,切断客户端与服务端的链接或数据库之间的链接;多个客户端可能会同时访问服务端,并且更新统一批数据,导致数据互相覆盖(临界区);客户端可能会读到过期的数据,等等。
事务的核心使命就是尝试解决上述提到的那些问题,并以从它自己层面所看到的安全性保证,让使用者在访问存储系统时只关注其本身的写入和查询逻辑,而非去处理那些问题。而事务的解决方式,也恰恰是通过ACID特性来进行保证的。
关系型数据库支持事务的 ACID 原则,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),这四种原则保证在事务过程当中数据的正确性,具体描述如下。
一个事务的所有系列操作步骤被看成一个动作,所有的步骤要么全部完成,要么一个也不会完成。如果在事务过程中发生错误,则会回滚到事务开始前的状态,将要被改变的数据库记录不会被改变。
一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏,即数据库事务不能破坏关系数据的完整性及业务逻辑上的一致性。
主要用于实现并发控制,隔离能够确保并发执行的事务按顺序一个接一个地执行。通过隔离,一个未完成事务不会影响另外一个未完成事务。
一旦一个事务被提交,它应该持久保存,不会因为与其他操作冲突而取消这个事务。
从事务的四个特性可以看到关系型数据库是要求强一致性的,但是这一点在 NoSQL 数据库中是重点弱化的机制。原因是当数据库保存强一致性时,很难保证系统具有横向扩展和可用性的优势,因此针对分布式数据存储管理只提供了弱一致性的保障,即 BASE 原理。
以上就是小编为大家整理的关于ACID的相关内容。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。