分散式OLTP資料庫發展趨勢(一):徹底去中心化

易鯨捷資料庫發表於2023-02-24

近年,國內分散式資料庫發展迅速,成為了各行業核心業務替換海外產品的主要技術。但分散式資料庫並不總是可靠的,大部分產品依然存在單點風險,為系統安全埋下嚴重隱患。易鯨捷在銀行核心交易系統實施過程中意識到這些風險,透過徹底去中心化的技術實現,打造架構更安全的分散式資料庫QianBase xTP,讓企業可以放心的對核心關鍵業務系統進行技術替換。

一、分散式資料庫的單點問題分析

在分散式1.0分庫分表時代,分散式架構大都以Mysql(或PostgreSQL)為基礎進行二次開發。這樣實現的“組裝型”分散式資料庫,如果想要進行全域性的資料管理,實現事務一致性,就必須配置多個管理角色,其中最重要的就是全域性事務管理節點(GTM)。所有計算節點在進行資料操作時,必須先去訪問GTM,獲得一個全域性遞增的數值作為事務標識的一部分。一旦多個事務發生衝突時,能透過攜帶的標識資訊判斷其先後關係,從而決定正確的執行順序。GTM一般會採用一主多備的部署方式,主服務發生故障後,備用服務切換需要經過故障識別、角色切換兩個過程,往往需要數分鐘的時間成本。

圖-一種典型的分庫分表架構資料庫

當GTM一旦發生故障,即便資料節點全部存活,此時的資料庫也會處於癱瘓狀態,無法對外提供服務,因為事務都在等待從GTM獲得完整的身份標識。

當然,分庫分表的架構還有很多更嚴重的缺陷,例如不支援複雜SQL、應用不透明,眾多Mysql之間主從複製管理困難、可靠性低,跨中心容災能力不足等,以至於資料庫廠商在構建分散式2.0(原生分散式)時,都在圍繞以上缺陷進行最佳化,很少有精力去處理其單點問題。並且,有的使用者也能接受在部分非核心類業務系統中偶爾出現分鐘級別的停機故障。

二、核心系統必須要更安全的分散式資料庫

目前,重要行業機構都在探索核心系統技術替換,其中不僅包括資料庫技術,還有晶片、伺服器、作業系統等。然而國內晶片、整機技術的成熟度和穩定性與海外產品相比還存在巨大差距。在這樣的裝置環境下,帶有單點風險的分散式資料庫,所帶來的系統故障就不再是偶爾發生。

在金融、能源、工業等關鍵行業核心系統中,1分鐘的系統癱瘓都可能影響成千上萬居民的衣食住行,這些系統如果不能穩定、安全執行,何談國計民生的長久發展。基礎硬體裝置的迭代週期太長,其穩定性短期難有大幅提升,所以核心業務在有限時間內完成技術改造,就必須採用更安全的分散式資料庫。

過去因為技術原因,不得不採用GTM/GTS的單點事務服務模式,然而現在技術已經形成了躍遷,一種徹底無中心架構的分散式資料庫已經成為現實。

三、QianBase xTP的去中心化實現

QianBase xTP是易鯨捷研發的一款分散式2.0架構原生分散式資料庫,所有節點全部對等部署,不存在任何管理節點。易鯨捷在某銀行核心交易系統全棧國產替換實施中,經過大量測試驗證,意識到了國產基礎裝置存在故障率較高的問題,不得不提升自身資料庫軟體的可靠性,以保證銀行核心交易業務的連續、穩定。

QianBase xTP透過HLC(混合邏輯時鐘)實現了一種多節點多活的分散式事務授時方案,替換了GTM全域性事務管理的單點架構。每個節點本地都具有一個HLC時鐘服務,為連線到該節點的會話操作分配事務時間戳,這個時間戳包括兩部分組成:物理時間(L)和邏輯時間(C)。在初始狀態下,物理時間(L)與該節點的伺服器時間(Pt)時刻保持一致,邏輯時間(C)則是由連續遞增的數值組成。

圖-混合邏輯時鐘組成與時鐘回撥應對策略

資料中心的伺服器需要定期進行時鐘同步,偶爾會造成本地時間回撥的情況。當節點本地物理時間發生回撥使Pt < L時,事務時鐘的物理部分L則保持不變,邏輯部分C進行“+1”,從而使“L,C”組成的混合時鐘只能持續增大。

那麼跨節點的分散式事務如何判斷前後關係呢。這依賴於一個客觀的物理事實,即“資訊的接收端接到資訊的時間,必然晚於傳送端資訊發出的時間”,透過這樣的因果關係,我們管理多節點的HLC時鐘服務。當發生分散式事務時,會話發起的節點A(即該會話的協調節點)在進行跨節點訪問資料的同時,會將當前事務的時間戳“LA1,CA1”發向參與節點B;B接收到這個時間戳以後,會與本地當前時間戳“LB1,CB1”進行比較,從而獲得本地下一個混合時鐘“LB2,CB2”。

圖-HLC混合邏輯時鐘受分散式事務影響示意圖(箭頭代表該事務執行路徑)

HLC僅僅是一種分散式多點授時方案,從方案到分散式事務應用,還需要極其複雜且龐大的工程設計與實現,並不是一般的資料庫廠商能夠輕易實現的。然而在QianBase xTP中這已經成為現實,並得到銀行核心交易系統的充分驗證,支撐分散式事務的強一致性和資料100%準確率,以及在國產晶片伺服器環境下業務系統依然達到6個9的可靠性。

圖-QianBase xTP 無中心架構

易鯨捷透過這一技術實現,打造出一個徹底去中心化的分散式資料庫,一個沒有單點風險的資料庫。QianBase xTP中應用可以連線任意節點,並透過分散式一致性協議保證資料多副本儲存,任何伺服器裝置故障都不會影響資料庫穩定的對外提供連續服務。同時QianBase xTP還支援一套資料庫跨多中心容災部署,每個備中心能夠分別設定同步複製、非同步複製,以及“同步/非同步”自動切換的靈活容災模式,完美支援兩地三中心、同城兩中心的核心業務容災需求,是架構安全可靠、能夠快速實施全棧國產化替換的分散式資料庫解決方案。

圖-QianBase xTP 跨多地部署、資料互聯互通

另外,QianBase xTP這種去中心的架構設計,在分佈廣、層級深、業態複雜的大型機構(例如央國企、大型製造業機構)業務需求中,支援一套資料庫跨多地部署,每個資料中心透過本地HLC服務處理各自業務,無需跨中心訪問GTM主服務獲取事務標識,做到各個分支中心在本地就能高效能處理自身業務的同時,還能實現全域性資料互聯互通、總部統一監督管理。QianBase xTP是一款能夠面向未來全球區域部署的先進分散式資料庫。


易鯨捷簡介

易鯨捷公司成立於2015年,專注於新一代融合型分散式資料庫核心技術研發。公司核心團隊源自天騰公司,曾創造過NonStopSQL等全球領先的資料庫產品,核心技術完全自主可控。經過多年技術沉澱,易鯨捷已形成自主可控、國產可信、安全高效的三條完整分散式資料庫產品線:QianBase xTP/QianBase TP/QianBase MPP,可面向不同行業應用提供完整的一站式解決方案,在金融、運營商、智慧製造、5G等重點行業獲得廣泛應用。


地址:貴陽市高新區長嶺南路160號高科1號C座24樓

北京易鯨捷資訊科技有限公司

地址:北京朝陽區北辰東路8號匯賓大廈A座1302室

電話:010-84983409

上海易鯨捷資訊科技有限公司

地址:上海市浦東新區金科路2889弄1號長泰廣場A座6層03單元

電話:021-5082211

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

相關文章