分布式數據庫基礎:分布式事務相關概念介紹

?

1、事務的定義

事務式訪問數據庫的一個邏輯工作單位,它屬于一個操作序列,執行這個操作序列使數據庫從一種一致狀態轉換到另外一種一致狀態,從而實現特定業務的功能。

2、分布式事務的定義

分布式事務屬于傳統事務的擴展,分布式事務繼承了傳統事務的定義,因為數據是分布的,一個事務的執行可能涉及多個節點的數據,

這使得分布式事務的執行方式與傳統事務的執行方式不同。傳統集中式事務只在一臺計算機上執行,分布式事務一般會在多個節點上的多臺計算機上執行。

子事務:分布式數據庫管理系統的事務優化器實現把一個分布式事務轉變為若干個與相應節點有關的操作序列組成,這些操作序列被叫做子事務。因此可以把分布式事務看作由多個不同站點上的子事務組成。

3、分布式事務的特征

3.1 事務的基本特征

原子性:事務的操作要么全部執行要么全部不執行。當事務非正常情況終止時,其中間結果將被取消。事務的原子性主要保證數據庫的狀態要么回退到執行之前的狀態要么執行成功變成另一個一致的狀態。

可串行性或一致性:并發執行的幾個事務,其操作結果應與某種順序串行執行這幾個事務所得到的結果完全相同。由數據庫系統的并發機制來保證并發事務執行時數據庫狀態的一致。

隔離性:一個沒有執行完成的事務不能在其提交之前把自己的中間結果提供給其他事務使用。因為未提交的事務結果不是最終結果,有可能在后續的執行過程中取消,這樣就會造成數據庫不一致的狀態。

持久性:當一個事務正常提交后,其操作結果將被永久固化下來。

原子性、可串行性、隔離性、持久性稱為事務的四個基本特性,簡寫為ASID或ACID。屬于傳統集中式事務和分布式事務都具備的。

3.2 分布式事務和集中式數據庫中的事務區別:

執行特性:由于分布式事務執行時被分解為多個子事務執行,因為子事務間的操作需要進行協調,因此每一個分布式事務必須創建一個協調進程,以協調各子事務的操作,協調數據及控制報文的收發,決定事務的提交和回退。

集中式事務的執行由并行調度算法調度,不會產生一個控制過程,也不必分解為子事務。

操作特性:在分布式事務中除了應用對數據的存取操作序列之外,還需要加入大量的通信原語,負責協調進程和代理進程之間的數據傳送、代理進程之間的數據傳送。另外為了協調子事務的執行還需要加入大量的控制原語。因此分布式事務比集中式事務的組成要復雜的多,執行方式也是復雜的多。

控制報文:分布式數據庫系統除了數據報文外,還需要控制報文,對各子事務的操作進行協調,這樣就有了大量的控制報文在網絡上傳輸。

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270942.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270942.shtml
英文地址,請注明出處:http://en.pswp.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因為各位的電腦用戶名不一樣。所…