分布式数据库基础:分布式事务相关概念介绍
1、事务的定义
事务式访问数据库的一个逻辑工作单位,它属于一个操作序列,执行这个操作序列使数据库从一种一致状态转换到另外一种一致状态,从而实现特定业务的功能。
2、分布式事务的定义
分布式事务属于传统事务的扩展,分布式事务继承了传统事务的定义,因为数据是分布的,一个事务的执行可能涉及多个节点的数据,
这使得分布式事务的执行方式与传统事务的执行方式不同。传统集中式事务只在一台计算机上执行,分布式事务一般会在多个节点上的多台计算机上执行。
子事务:分布式数据库管理系统的事务优化器实现把一个分布式事务转变为若干个与相应节点有关的操作序列组成,这些操作序列被叫做子事务。因此可以把分布式事务看作由多个不同站点上的子事务组成。
3、分布式事务的特征
3.1 事务的基本特征
原子性:事务的操作要么全部执行要么全部不执行。当事务非正常情况终止时,其中间结果将被取消。事务的原子性主要保证数据库的状态要么回退到执行之前的状态要么执行成功变成另一个一致的状态。
可串行性或一致性:并发执行的几个事务,其操作结果应与某种顺序串行执行这几个事务所得到的结果完全相同。由数据库系统的并发机制来保证并发事务执行时数据库状态的一致。
隔离性:一个没有执行完成的事务不能在其提交之前把自己的中间结果提供给其他事务使用。因为未提交的事务结果不是最终结果,有可能在后续的执行过程中取消,这样就会造成数据库不一致的状态。
持久性:当一个事务正常提交后,其操作结果将被永久固化下来。
原子性、可串行性、隔离性、持久性称为事务的四个基本特性,简写为ASID或ACID。属于传统集中式事务和分布式事务都具备的。
3.2 分布式事务和集中式数据库中的事务区别:
执行特性:由于分布式事务执行时被分解为多个子事务执行,因为子事务间的操作需要进行协调,因此每一个分布式事务必须创建一个协调进程,以协调各子事务的操作,协调数据及控制报文的收发,决定事务的提交和回退。
集中式事务的执行由并行调度算法调度,不会产生一个控制过程,也不必分解为子事务。
操作特性:在分布式事务中除了应用对数据的存取操作序列之外,还需要加入大量的通信原语,负责协调进程和代理进程之间的数据传送、代理进程之间的数据传送。另外为了协调子事务的执行还需要加入大量的控制原语。因此分布式事务比集中式事务的组成要复杂的多,执行方式也是复杂的多。
控制报文:分布式数据库系统除了数据报文外,还需要控制报文,对各子事务的操作进行协调,这样就有了大量的控制报文在网络上传输。
IT技术分享社区
个人博客网站:https://programmerblog.xyz
文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2020-01-24 牛逼哄哄的 Lambda 表达式,简洁优雅就是生产力!
2019-01-24 收集Linux常用命令
2019-01-24 收集Linux常用命令