破解分散式資料庫全域性死鎖難題 GBase 8c引領資料庫領域變革

GBASE南大通用發表於2022-05-18

面對與日俱增的海量資料,分散式資料庫憑藉其高可用、高擴充套件、高價效比等優勢,能為企業業務提供良好支撐,得到越來越多使用者的認可。分散式資料庫的時代已悄然到來!

南大通用GBase 8c 就是一款多模多型的分散式資料庫產品,其支援行存、列存、記憶體等多種儲存模式和單機、主備式、分散式等多種部署形態,具備高效能、高可用、彈性伸縮、高安全性等特性,可以部署在物理機、虛擬機器、容器、私有云和公有云,為關鍵行業核心系統、網際網路業務系統和政企業務系統提供安全、穩定、可靠的資料儲存和管理服務。

隨著分散式資料庫的不斷髮展,目前正面臨一些挑戰,現有技術需要不斷的突破和創新。例如,高併發分散式資料庫執行過程中,經常發生多個節點上的多個資料庫會話間互相訪問對方佔有的資源,從而產生迴圈等待的情況,即發生分散式全域性死鎖。

   

為了讓事務得以繼續執行,就需要分散式資料庫系統提供死鎖快速檢測和解除技術。

傳統處理方式是通過在CN (協調器)和 DN (資料節點)上部署 global deadlock process 並與 GTM (全域性事務管理器)建立通訊通道,週期性地對事務等待關係進行檢測,並將檢測結果傳送給 GTM 用來構建全域性等待圖。當檢測到死鎖環時,立即將執行事務號最大的事務執行退出流程,從而解決全域性死鎖問題。

但這種方案存在單一節點,GTM 需收集所有節點的等待關係,當叢集節點、執行事務較多時,負荷過高且週期性觸發,出現死鎖——檢測到死鎖時間較長,影響資料庫效能。

針對這些情況,GBase 8c 開發團隊提出了一種基於探測訊息傳遞的死鎖檢測和解鎖方法,以解決分散式系統中出現死鎖的情況。

 

具體說來,在GBase 8c 資料庫中,若某一事務的 CN 處理程式收到自己發出的探測訊息,即說明存在全域性死鎖。此時事務關聯的 CN 處理程式執行事務回滾,釋放出自己佔有的鎖資源,以便其它事務拿到資源鎖後得以繼續執行。事務回滾後,死鎖等待環就斷開了,不存在迴圈等待的卡死現象,從而解決全域性死鎖的問題。這種去中心化的設計,避免了任何單點故障導致死鎖檢測失效或滯後的問題。

目前,南大通用已將該項技術申請專利,並獲得國家智慧財產權局受理。

當前分散式資料庫既面臨歷史性的發展機遇,也在迎接嚴峻挑戰。為順應數字化轉型提速的趨勢,南大通用GBase 8c 將進一步加速產品科技創新,持續提升產品效能,推動國產大資料領域生態圈的繁榮發展。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979120/viewspace-2895023/,如需轉載,請註明出處,否則將追究法律責任。

相關文章