美文网首页数据库知识点
浅谈数据库的ACID

浅谈数据库的ACID

作者: 耀凯考前突击大师 | 来源:发表于2017-06-12 06:11 被阅读72次

    什么是ACID?

    在传统的关系型数据库(RDBMS)中,ACID是四个非常重要的性质。所谓的ACID性质,指的是:

    • 原子性(Atomicity)
    • 一致性(Consistency)
    • 隔离性(Isolation)
    • 一致性(Duration)

    要理解数据库的ACID性质,我们首先要明白事务(Transaction)的概念。

    事务(Transaction)

    所谓的事务,指的就是一个或一些操作组成的序列。对于数据库来说,这组操作序列要么全都执行,要么全都不执行,是数据库的一个不可分割的工作单位。

    ACID的意义

    原子性

    原子性指的是一个事务的操作要么全部被执行,要么全部不被执行。这个事务可以什么都不包含,也可以包含一组复杂的操作。但不论是什么样的事务,在面对系统崩溃,忽然断电,出现错误或者其他异常情形的时候,都不会出现其中的部分操作被执行而另一部分操作未被执行的情况。

    一致性

    一致性指的是在事务开始前和事务结束后,数据库的完整性约束没有破坏。也就是说,事务不能破坏关系数据的完整性及业务逻辑的一致性。

    隔离性

    隔离性指的是多个事务之间相互隔离。

    一个事务在另一个事务完成之前不会读到其结果。一个事务查看数据状态时,数据要么处于另一事务修改它之前的状态,要么处于另一事务修改它之后的状态,而不会处于中间状态。

    如果两个事务并发执行,每一个事务都拥有各自完整的数据空间。就好像两个事务顺序执行一样。如果一个事务需要访问另一个事务正在写的数据,则这个事务需要等到另一个事务完成其操作。

    持久性

    持久性指的是一旦事务完成,其对数据所进行的修改便持久地存在于数据库中(例如存储在硬盘上)。同样的,事务已经完成的状态也不会再改变。

    相关文章

      网友评论

        本文标题:浅谈数据库的ACID

        本文链接:https://www.haomeiwen.com/subject/htgkqxtx.html