分布式数据库基础:分布式事务相关概念介绍
1、事务的定义
事务式访问数据库的一个逻辑工作单位,它属于一个操作序列,执行这个操作序列使数据库从一种一致状态转换到另外一种一致状态,从而实现特定业务的功能。
2、分布式事务的定义
分布式事务属于传统事务的扩展,分布式事务继承了传统事务的定义,因为数据是分布的,一个事务的执行可能涉及多个节点的数据,
这使得分布式事务的执行方式与传统事务的执行方式不同。传统集中式事务只在一台计算机上执行,分布式事务一般会在多个节点上的多台计算机上执行。
子事务:分布式数据库管理系统的事务优化器实现把一个分布式事务转变为若干个与相应节点有关的操作序列组成,这些操作序列被叫做子事务。因此可以把分布式事务看作由多个不同站点上的子事务组成。
3、分布式事务的特征
3.1 事务的基本特征
原子性:事务的操作要么全部执行要么全部不执行。当事务非正常情况终止时,其中间结果将被取消。事务的原子性主要保证数据库的状态要么回退到执行之前的状态要么执行成功变成另一个一致的状态。
可串行性或一致性:并发执行的几个事务,其操作结果应与某种顺序串行执行这几个事务所得到的结果完全相同。由数据库系统的并发机制来保证并发事务执行时数据库状态的一致。
隔离性:一个没有执行完成的事务不能在其提交之前把自己的中间结果提供给其他事务使用。因为未提交的事务结果不是最终结果,有可能在后续的执行过程中取消,这样就会造成数据库不一致的状态。
持久性:当一个事务正常提交后,其操作结果将被永久固化下来。
原子性、可串行性、隔离性、持久性称为事务的四个基本特性,简写为ASID或ACID。属于传统集中式事务和分布式事务都具备的。
3.2 分布式事务和集中式数据库中的事务区别:
执行特性:由于分布式事务执行时被分解为多个子事务执行,因为子事务间的操作需要进行协调,因此每一个分布式事务必须创建一个协调进程,以协调各子事务的操作,协调数据及控制报文的收发,决定事务的提交和回退。
集中式事务的执行由并行调度算法调度,不会产生一个控制过程,也不必分解为子事务。
操作特性:在分布式事务中除了应用对数据的存取操作序列之外,还需要加入大量的通信原语,负责协调进程和代理进程之间的数据传送、代理进程之间的数据传送。另外为了协调子事务的执行还需要加入大量的控制原语。因此分布式事务比集中式事务的组成要复杂的多,执行方式也是复杂的多。
控制报文:分布式数据库系统除了数据报文外,还需要控制报文,对各子事务的操作进行协调,这样就有了大量的控制报文在网络上传输。
- 点赞
- 收藏
- 关注作者
评论(0)