分布式数据库基础:分布式事务相关概念介绍

 

1、事务的定义

事务式访问数据库的一个逻辑工作单位,它属于一个操作序列,执行这个操作序列使数据库从一种一致状态转换到另外一种一致状态,从而实现特定业务的功能。

2、分布式事务的定义

分布式事务属于传统事务的扩展,分布式事务继承了传统事务的定义,因为数据是分布的,一个事务的执行可能涉及多个节点的数据,

这使得分布式事务的执行方式与传统事务的执行方式不同。传统集中式事务只在一台计算机上执行,分布式事务一般会在多个节点上的多台计算机上执行。

子事务:分布式数据库管理系统的事务优化器实现把一个分布式事务转变为若干个与相应节点有关的操作序列组成,这些操作序列被叫做子事务。因此可以把分布式事务看作由多个不同站点上的子事务组成。

3、分布式事务的特征

3.1 事务的基本特征

原子性:事务的操作要么全部执行要么全部不执行。当事务非正常情况终止时,其中间结果将被取消。事务的原子性主要保证数据库的状态要么回退到执行之前的状态要么执行成功变成另一个一致的状态。

可串行性或一致性:并发执行的几个事务,其操作结果应与某种顺序串行执行这几个事务所得到的结果完全相同。由数据库系统的并发机制来保证并发事务执行时数据库状态的一致。

隔离性:一个没有执行完成的事务不能在其提交之前把自己的中间结果提供给其他事务使用。因为未提交的事务结果不是最终结果,有可能在后续的执行过程中取消,这样就会造成数据库不一致的状态。

持久性:当一个事务正常提交后,其操作结果将被永久固化下来。

原子性、可串行性、隔离性、持久性称为事务的四个基本特性,简写为ASID或ACID。属于传统集中式事务和分布式事务都具备的。

3.2 分布式事务和集中式数据库中的事务区别:

执行特性:由于分布式事务执行时被分解为多个子事务执行,因为子事务间的操作需要进行协调,因此每一个分布式事务必须创建一个协调进程,以协调各子事务的操作,协调数据及控制报文的收发,决定事务的提交和回退。

集中式事务的执行由并行调度算法调度,不会产生一个控制过程,也不必分解为子事务。

操作特性:在分布式事务中除了应用对数据的存取操作序列之外,还需要加入大量的通信原语,负责协调进程和代理进程之间的数据传送、代理进程之间的数据传送。另外为了协调子事务的执行还需要加入大量的控制原语。因此分布式事务比集中式事务的组成要复杂的多,执行方式也是复杂的多。

控制报文:分布式数据库系统除了数据报文外,还需要控制报文,对各子事务的操作进行协调,这样就有了大量的控制报文在网络上传输。

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows比linux差在哪,怎么让新手理解Linux比Windows好在哪里!

pingpang2008 于 2009-06-17 08:54:31发表:人好多啊hantu 于 2009-06-16 23:28:57发表:哈哈,偏偏很多人就是不爽windows了才用Linux的刘冲 于 2009-06-16 21:44:08发表:linux比windows好吗?wayoking 于 2009-06-16 20:45:11发表:理解了,谢谢cscs2002 于 …

12c创建为容器数据库_oracle 12c创建可插拔数据库(PDB)与用户详解

前言由于oracle 12c使用了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使用。一、修改listener.ora , tnsnames.ora###listener.ora###LISTENER (DESCRIPTION (ADDRESS (PROTOCOL TCP)(…

大型分布式存储方案MinIO介绍,看完你就懂了!

1、MinIO是什么?官方解释:MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,…

部署好网站,同局域网中电脑无法访问的问题的解决方案

“部署好网站,同局域网中电脑无法访问的问题的解决方案"。 第一,Win7安装IIS后,本地测试没问题,说明IIS配置正确;如果本地测试有问题,先检查IIS安装配置情况。 第二,检查计算机网络情况&am…

linux下julia的开发环境,Ubuntu搭建Julia远程开发环境

Julia作为一门新兴的编程语言,还是可以学一学的,这里总结了一下Ubuntu系统远程搭建Julia开发环境的方法。前期准备:云服务器一台,操作系统为Ubuntu18.04,xshell6 vscode。环境安装;首先使用xshell远程连接云服务器&am…

ElementUI:文本框实现远程搜索的用法

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

栈桢的结构

栈桢里面主要有局部变量表,操作数栈,方法返回地址,动态链接,和一些附加信息

horizon服务主要模块_Horizon Workspace 快速部署指南三(配置Workspace数据模块)

1. 配置Horizon Workspace1.1 配置Horizon Workspace 数据模块1.1.1 为Data Server增加虚拟磁盘由于初始化的Data Server数据空间有限,为了保证测试需求,我们需要添加合适大小的存储空间到Data Server。登陆vShpere client,选择Data-va &…

Android事件总线

Android中Activity、Service、Fragment之间的相互通信比较麻烦,主要有以下一些方法: (1)使用广播,发送者发出广播,接收者接收广播后进行处理; (2)使用Handler和Message,如下载线程完成下载任务后&#xff0…

linux5.4无法远程,利用Xmanager_在RedHat5.4下实现Linux远程桌面

利用Xmanager 在RedHat5.4下实现Linux远程桌面前言:Linux服务器的Xwindow界面的,需要对Linux进行相应的配置,详细步骤如下。前提:安装linux时一定要选上xwindow,这是最基本的前提,不安装它,是绝…

分布式数据库基础:分布式数据库故障

分布式数据库系统常见的故障主要有事务故障、系统故障、介质故障、网络引起的故障。事务故障:计算溢出、完整性破坏、操作员干预、输入输出报错等。介质故障:存放数据的介质发生的故障,比如磁盘、磁盘的损坏等等。系统故障:CPU出错…

动态链接(指向运行时常量池的方法引用)

动态链接(指向运行时常量池的方法引用)

洛谷P1198 [JSOI2008]最大数

P1198 [JSOI2008]最大数 267通过1.2K提交题目提供者该用户不存在标签线段树各省省选难度提高/省选-提交该题 讨论 题解 记录 最新讨论 WA80的戳这QwQBZOJ都过了,洛谷竟然过不了…为什么过不了 我想说这题加优读会WA?…谁说pascal只能80,要换c…

njx如何实现负载均衡_负载均衡是怎么做的~

展开全部1、服务直接返回:这种安装方式负载均衡的LAN口不使用,WAN口与服务器在同一个网络中,互联网的32313133353236313431303231363533e78988e69d8331333431363531客户端访问负载均衡的虚IP(VIP),虚IP对应负载均衡机的WAN口&…

电脑技巧:C盘爆满该如何清理,实用的清理方案,小白必备

有用户和小编说,C盘就像是一个无底洞,无论给它分多大的分区,Windows操作系统总有办法给它填满!相信很多朋友也有这样的感受吧?其实,好像休眠文件、系统页面文件等等GB大“人物”是驻扎在C盘的,此…

linux中profile文件作用,解析Linux系统中bashrc和profile文件的作用区别

使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理。Shell是一个程序,最常…

操作系统:电脑的回收站的秘密你知道吗?

电脑的回收站的秘密你知道吗? 今天小编给大家介绍一下有关电脑回收站的相关知识,赶紧来看看吧! 回收站是所有磁盘驱动空间中的一个区域。 鼠标右键打开电脑桌面回收站的属性面板,在属性面板中可以看到所有的系统驱动程序使用了同一设置选项,可…

【Qt开发】QSplitter的使用和设置

Qt库版本:5.2.1 Qt Creator版本:3.0.1 1 QSplitter的用途 QSplitter使得用户可以通过拖动子窗口之间的边界来控制它们的大小,例如 图1 窗口拆分示意图 2 QSplitter的添加方法 QSplitter的添加方法有2种:a)通过Qt Creator的界面设计…

异星工厂mod位置linux,异星工厂存档在哪里

异星工厂存档在哪里想必有些小伙伴还不是很清楚的吧,所以呢今天小编就为大家带来了异星工厂MOD安装位置介绍,一起来了解一下吧。异星工厂存档在哪里%appdata%/factorio等同于C:\Users\您的用户名\AppData\Roaming\Factorio因为各位的电脑用户名不一样。所…