数据库事务:

  概念数据库事务是构成单一逻辑工作单元的操作集合

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  概念解释:

      1.数据库事务可以包含一个或多个数据库操作,但这些操作构成一个逻辑上的整体

      2.构成逻辑整体的这些数据库操作,要么全部执行成功,要么全部不执行

      3.构成事务的所有操作,要么全都对数据库产生影响,要么全都不产生影响,即不管事务是否执行成功,数据库总能保持一致性状态

      4.以上即使在数据库出现故障以及并发事务存在的情况下依然成立。

  

原子性(Atomicity):事务中的所有操作作为一个整体像原子一样不可分割,要么全部成功,要么全部失败。

一致性(Consistency):事务的执行结果必须使数据库从一个一致性状态到另一个一致性状态。

          一致性状态是指:1.系统的状态满足数据的完整性约束(主码,参照完整性,check约束等)

                  2.系统的状态反应数据库本应描述的现实世界的真实状态,比如转账前后两个账户的金额总和应该保持不变。

隔离性(Isolation):并发执行的事务不会相互影响,其对数据库的影响和它们串行执行时一样。

持久性(Durability):事务一旦提交,其对数据库的更新就是持久的。任何事务或系统故障都不会导致数据丢失。

数据库系统通过并发控制技术和日志恢复技术来避免这种情况发生.

不考虑隔离性的后果:

  脏读:一个事务读到另一个事务未提交的数据

  不可重复读:在一个事务里面读取了两次某个数据,读出来的数据不一致

  幻读:幻读是事务非独立执行时发生的一种现象

解决办法:四种隔离级别:

  Read Uncommitted(读取未提交内容) :脏读

  Read Committed(读取提交内容)  :防止脏读

  Repeatable Read(可重读)     :防止不可重复读

  Serializable(可串行化)        :防止幻读

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄