• 主页
  • 相册
  • 随笔
  • 目录
  • 存档
Total 244
Search AboutMe

  • 主页
  • 相册
  • 随笔
  • 目录
  • 存档

高级数据库笔记-事务管理

2020-07-03

1. 事务的定义

事务(transaction)是由若干个为完成某一任务而逻辑相关的操作组成的操作序列,是保证数据库正确性的基本逻辑单元

一个事务由三部分组成

  • 开始标识begin_transaction
  • 数据库操作
  • 结束标识commit或abort

1.1. 事务的基本性质

ACID四个特性

  • 原子性(atomicity)
    • 表示组成一个事务的多个数据库操作是一个不可分割的原子单元,只有所有的操作执行成功,整个事务才提交。事务中的任何一个数据库操作失败,已经执行的任何操作都必须被撤销,让数据库返回初始状态
  • 一致性(consistency)
    • 事务操作成功后,数据库所处的状态和他的业务规则是一致的,即数据不会被破坏。如A账户转账100元到B账户,不管操作成功与否,A和B账户的存款总额是不变的
  • 隔离性(isolation)
    • 在并发数据操作时,不同的事务拥有各自的数据空间,他们的操作不会对对方产生敢逃。准确地说,并非要求做到完全无干扰。数据库规定了多种事务隔离界别,不同的隔离级别对应不用的干扰成都,隔离级别越高,数据一致性越好,但并发行越弱
  • 耐久性(或持久性,durability)
    • 一旦事务提交成功后,事务中所有的数据操作都必须被持久化到数据库中。即使在事务提交后,数据库马上崩溃,在数据库重启时,也必须保证能够通过某种机制恢复数据
  • 在这些事务特性中,数据“一致性”时最终目标,其他特性都是为达到这个目标而采取的措施、要求或手段

2. 分布式事务

  • 从宏观上来看,分布式事务是由一系列分布在多 个场地上执行的数据库操作所组成的
    • 分布式事务:是指分布式数据库应用中的事务,也称为全局事务
    • 分布式事务:是指分布式数据库应用中的事务,也称为全局事务

实现模型

  • 进程模型
    • 全局事务为每一个子 事务在相应的场地上创建一个代理者 进程(也称局部进程或子进程),由 代理者进程执行该场地上的有关操作。 同时,为协调各子事务的操作,全局 事务还要启动一个协调者进程,来进行代理者进程间的通讯,控制和协调 各代理者进程的操作
  • 服务器模型
    • 服务器模型要求在事务的每个执行场地上创建一个服务 器进程,用于执行发生在该场地上的所有子事务。每个服务器进程可以交 替地为多个事务的子事务服务。也就是说,不同全局事务中的子事务在同 一个场地上共用一个服务器进程

2.1. 分布式事务管理的实现

  • 局部事务管理器(LTM)
    • 负责本场地的子事务执行、故障恢复和并发控制;
  • 分布式事务管理器(DTM)
    • 协同全局事务的执行、物理上多个、逻辑上是一个整体

2.1.1. 三种控制模型

  • 主从控制模型
  • 三角控制模型
  • 层次控制模型
  • Notes
  • Sql
  • Notes
shell脚本编程练习进阶
高级数据库笔记-分布查询
  1. 1. 1. 事务的定义
    1. 1.1. 1.1. 事务的基本性质
  2. 2. 2. 分布式事务
    1. 2.1. 2.1. 分布式事务管理的实现
      1. 2.1.1. 2.1.1. 三种控制模型
© 2024 何决云 载入天数...