[發明專利]全局一致分片式OLTP系統的高吞吐量分布式事務管理及其實現方法有效
| 申請號: | 201880078365.2 | 申請日: | 2018-11-29 |
| 公開(公告)號: | CN111433764B | 公開(公告)日: | 2023-10-13 |
| 發明(設計)人: | 蔡樂;陳建軍;梅森·夏普;陳宇;陳軍;杰森·揚·孫;王永炎 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F16/28 | 分類號: | G06F16/28 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 石朝清 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 全局 一致 分片 oltp 系統 吞吐量 分布式 事務管理 及其 實現 方法 | ||
本發明實施例提供了一種用于改進分片式數據庫中的聯機事務處理(online transaction processing,OLTP)的系統和方法,判斷進入的查詢是單分片事務還是多分片事務能夠降低全局事務管理器相關開銷,提高了可擴展性。對于多分片事務,向所述GTM請求分布式事務ID(distributed transaction ID,DXID),然后將所述DXID和所述查詢轉發給一個或多個數據節點。對于單分片事務,將所述查詢發送給數據節點,不需要向GTM請求DXID。
本申請要求2017年12月6日遞交的發明名稱為“全局一致分片式OLTP系統的高吞吐量分布式事務管理及其實現方法(HIGH-THROUGHPUT DISTRIBUTED TRANSACTIONMANAGEMENT FOR GLOBALLY CONSISTENT SHARDED OLTP SYSTEM AND METHOD OFIMPLEMENTING)”的第15/833,658號美國非臨時專利申請案的優先權,其全部內容以引用的方式并入本文中。
背景技術
分布式聯機事務處理(online transaction processing,OLTP)系統通常利用分片式數據庫來實現可擴展性。分片式數據庫根據哈希值或分布列范圍將數據劃分為分片或分區。將數據分片分布到數據庫節點(服務器),每個節點獨立管理各自的數據。由于數據重新分布使得每個數據庫分片或節點包含的數據更少,并且能夠處理的并發查詢更多,所以添加服務器和節點會增加總吞吐量。如果應用程序只訪問單獨服務器中的數據,則這種無共享分片式系統的性能比較理想。然而,如果事務涉及多個節點,則聯網和同步都會產生開銷,從而降低可擴展性。
分片式OLTP系統中的分布式事務同步通常是通過二階段提交(two-phasecommit,2PC)和集中式全局事務管理器(global transaction manager,GTM)來實現。2PC支持節點之間的一致性寫操作,GTM提供全局一致性視圖或快照。圖1示出了分片式OLTP系統,例如Postgres-XC(PG-XC)。一般而言,應用程序將查詢或語句102發送給分片式OLTP系統100中的協調器,從而與分片式OLTP系統100交互。協調器包括多個協調節點(coordinatornode,CN)104a、104b、104c、104d。CN解析這些語句并判斷哪個數據庫分片或數據節點(datanode,DN)106a至106e包含所查詢的數據。將這些語句發送給特定DN以進行查詢處理,包括對存儲數據的實際訪問。全局事務管理器(global transaction manager,GTM)108生成和維護帶有寫操作的事務的按升序排序的全局事務ID(global transaction ID,GXID),以及仍然處于活動狀態下的這些事務的列表。這個列表稱為全局快照,用于支持多版本并發控制(multi-version concurrency control,MVCC),這是一種實現高并發性的基本機制,從而實現讀事務不阻塞寫事務以及寫事務不阻塞讀事務。在MVCC中,當數據庫記錄被更新時,數據庫記錄不會被更新所替換。相反,該記錄產生新版本。新舊版本在系統中共存,這樣同一條記錄的讀事務和寫事務互不沖突。讀事務和寫事務可以根據在事務或語句開始時獲取的快照以及存儲在記錄的頭部中的事務ID來訪問正確版本,該記錄表示正在更新的事務。當這些更新中的事務(包括插入、更新和刪除)在獲取快照之前提交時,這些事務的版本是可見的。
發明內容
根據本發明示例性實施例,克服了上述缺點并實現了其它優點。本發明示例性實施例描述了一種用于處理數據庫事務的系統。所述系統包括接收事務查詢的協調節點(coordinator node,CN)。所述CN判斷所述事務是單分片事務還是多分片事務。當所述CN確定所述事務為多分片事務時,所述CN向全局事務管理器(global transaction manager,GTM)請求所述事務的分布式事務ID(distributed transaction ID,DXID),接收所述事務的所述DXID,并且將所述查詢和所述DXID發送給與所述事務關聯的至少兩個數據節點。然而,當確定所述事務為單分片事務時,所述CN將所述查詢發送給與所述事務關聯的單個數據節點,不需要先向所述GTM請求DXID。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201880078365.2/2.html,轉載請聲明來源鉆瓜專利網。





