数据库 ACID

ACID属性 事务可以由四个基本性质来定义,简记为首字母缩写:ACID(原子性 atomicity、一致性 consistency、隔离性 isolation、持久性 durability)。 Atomicity 原子性 原子性保证了要么所有更新都已完成,要么全部都未发生。由于事务保证的原子性,你不需要亲自编写代码来处理诸如一些已更新完成,其他却失败了的状况。 对照刚才的关于课程安排的例子,如果从第一个课程的名单里移除此学生成功,但是添加他到第二个课程的名单时失败,那么事务就会中止,并且此学生最终不会被从第一个课程中的名单移除。 Consistency 一致性 一致性意味着事务结束后系统的数据依然保证一致。在事务开始之前,数据保持有效的状态,事务结束后也如此。 一致性可以用讨论原子性时的同样情形,即把一个学生从一个课程转移到另一个来描述。如果把学生从第一个课程移除失败,但是添加到第二个课程成功,那么这个学生将被同时登记在两个课程上。这是不合法的情形,数据库的数据将不能保持一致。一致性表 示,事务的结果必须使数据库仍保持数据一致的状态。所以事务的部分操作失败的话,所有其他部分也要回到原先的状态,就象什么都没发生一样。 Isolation 隔离性 多个用户可能同时对同一个数据库进行操作。隔离性保证了在事务完成之前,该事务外部不能看到事务里的数据的改变。也不能访问一些中间状态,因为假如事务终止的话,这些状态将永远不会发生。 如果你做一个查询来获取所有课程的学生名单,与此同时,一个事务正在运行,把一个学生从一个课程转移到另外一个,那么两个课程的名单上都不会出现这个学生。隔离性保证了事务外无法看到事务内的任何中间状态或结果。 Durability 持久性 持久性意味着即便是系统当机也能保证一致性的状态。如果一个数据库系统当机,它必须保证已完成的事务确实已经写入数据库。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值