首页 > 数据库技术 > 详细

数据库系统原理:ACID的作用以及实现原理

时间:2020-02-13 18:49:02      阅读:108      评论:0      收藏:0      [点我收藏+]
  • 数据库事务:构成单一逻辑工作单元的操作集合
    • 数据库事务可以包含一个或多个数据库操作,但这些操作构成一个逻辑上的整体
    • 构成逻辑整体的这些数据库操作,要么全部执行成功,要么全部不执行
    • 构成事务的所有操作,要么全都对数据库产生影响,要么全都不产生影响,即不管事务是否执行成功,数据库总能保持一致性状态
    • 以上即使在数据库出现故障以及并发事务存在的情况下依然成立
  • 事务的ACID特性
    • 原子性:事务中的所有操作作为一个整体像原子一样不可分割,要么全部成功,要么全部失败。
    • 原子性实现原理:
      技术分享图片
    • 一致性:事务开始前和结束后,数据库的完整性约束没有被破坏,都是合法的数据状态。比如A向B转账,不可能A扣了钱,B却没收到。
      技术分享图片
    • 隔离性:并发执行的事务不会相互影响,其对数据库的影响和它们串行执行时一样。
      技术分享图片
      技术分享图片
    • 持久性:事务一旦提交,其对数据库的更新就是持久的。任何事务或系统故障都不会导致数据丢失。
      技术分享图片
  • 在事务的ACID特性中,一致性是事务的根本追求,而对数据库一致性的破坏主要来自两个方面:
    • 事务的并发执行
    • 事务故障或系统故障
  • 如何避免数据库一致性被破坏
    • 并发控制技术:保证了事务的隔离性,使数据库的一致性不会因为并发执行被操作
    • 日志恢复技术:保证了事务的原子性,使数据库的一致性不会因事务或系统故障被破坏。同时使已提交的对数据库的修改不会因系统崩溃而丢失,保证了事务的持久性。
      技术分享图片

数据库系统原理:ACID的作用以及实现原理

原文:https://www.cnblogs.com/xiaobaizzz/p/12304293.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!