分散式資料庫技術之路未來如何發展?

OceanBase資料庫發表於2022-09-21

近期,由國家工業資訊保安發展研究中心釋出了2022年《分散式資料庫發展趨勢研究報告》。報告從資料庫產業發展、分散式資料庫產品價值、面臨調整、技術路線、發展趨勢、發展方向等多角度闡述了分散式資料庫的諸多問題。本文,從個人角度談談對上述研究報告的解讀。

本文作者韓鋒為CCIA(中國計算機協會)常務理事,前Oracle ACE,騰訊TVP,阿里雲MVP,dbaplus等多家社群聯合創始人或專家團成員。有著豐富的一線資料庫架構、軟體研發、產品設計、團隊管理經驗。曾擔任多家公司首席DBA、資料庫架構師等職。在雲、電商、金融、網際網路等行業均有涉獵,精通多種關係型資料庫,對NoSQL及大資料相關技術也有涉足,實踐經驗豐富。曾著有資料庫相關著作《SQL最佳化最佳實踐》、《資料庫高效最佳化》。

背景篇

不鳴則已、一鳴驚人

伴隨著數字化轉型深化,企業對於資料的重視程度逐步加深。伴隨著以雲端計算、5G、IOT、人工智慧、區塊鏈等新興技術的發展,催著更多新興資料場景的出現。這其中直觀帶來的就是資料規模呈現幾何級增長、資料結構複雜度與日攀升。

根據第三方機構的預測資料,全球資料儲存量在未來幾年將呈現爆炸式增長。除去資料規模外,在資料採集、儲存、傳輸、展現、分析和最佳化等方面都對資料的載體資料庫提出了更高的要求。希望以此更好地實現企業對資料資產治理、增值與科學決策,資料高可靠高可用、資料線上分析等訴求,進一步發揮資料價值。上述訴求可以說為資料庫提出了更高的要求,但傳統資料庫架構在超大規模、高併發、實時處理、資料安全等方面明顯力不從心,此外高昂建設成本也難以迎合數字化時代的潮流趨勢。

相較於傳統資料庫,新興分散式資料庫的優勢都凸顯出來。

一、突破規模化儲存能力

傳統單機或集中式架構下,承載的資料規模受限於本地磁碟或可對接的外部儲存空間。雖然後者可做到大規模(如 PB 級),但其建設週期長、擴充套件不靈活、投入成本高且依然還會面臨 IO 的效能瓶頸。而分散式架構資料庫,天然具有的資料分片能力,是有效解決超大規模資料承載的利器。

二、突破高效能運算瓶頸

作為承載計算的主要資源,CPU、記憶體資源對計算尤為重要。在傳統單機或集中式架構下,上述資源僅能透過 Scale UP 方式進行擴充套件,其擴充套件能力有限,無法整合更多資源參與計算。而分散式架構資料庫,透過網路可匯聚更多計算資源參與其中,形成更大規模的算力支援。在高併發、高效能運算領域更有優勢。

三、填補資料分析能力短板

資料分析,是資料使用的重要方向之一,過去通常是由資料倉儲等技術承載。這種線上資料庫與離線資料倉儲的架構,能在一定程度上解決資料分析問題,但在實時性、一致性、成本等方面存在短板。理想的方式在單一系統完成,但傳統架構受限於資源,無法完全提供。而分散式架構資料庫,透過其算力的整合可滿足混合負載的業務壓力,大幅度提升分析時效性,並減少資料冗餘,靈活性大大提高。

四、提升可用性與安全性

傳統架構下,資料庫可用性更多取決於單點(或儲存),設計上往往透過冗餘硬體保護等方式去提升;但受限於架構約束難以達到非常高的可用性。針對資料安全,也通常是透過主備複製、備份等手段完成,但難以保證資料線上安全,需要視窗期完成恢復。分散式架構具備的存算分離、多副本、彈性擴充套件等能力,可有效提升整體可用性和資料安全。使用者可根據需要,靈活調整架構,提升可用性和安全性。

五、最佳化成本模型實現按需擴充套件

傳統架構資料庫的成本相對高昂,這主要是由於其架構限制,向上擴充套件相對容易,水平擴充套件比較困難。為了保證快速的業務發展,通常在專案設計初期就需要按最大容量進行規劃或為了更高的可靠性需要付出高額的成本。而分散式架構資料庫則不同,其架構天然就支援靈活擴充套件能力(包括儲存、計算),並可實現低成本的高可用解決方案(多副本)。上述能力,將有效降低企業在構建系統時的投入,特別是在面對快速、多變業務的場景更是如此。

技術篇

百花齊放、百家爭鳴

從上圖可見,分散式資料庫已經發展多年,特別是近些年來已經逐步成熟並落地使用。從大的技術路線來看,可大致分為幾種型別:

路線 1 :分散式中介軟體+單機資料庫

這一技術路線是在單機資料庫系統上進行改造,主要解決計算儲存的擴充套件性問題。上層為一組無狀態計算節點,基於分片規則提供SQL解析,請求轉發和結果合併的能力。下層為增強的單機資料庫,提供單機資料庫的儲存和執行能力。這一架構透過資料在邏輯層的切割,可近似線性地對計算效能和儲存容量進行擴充套件,具有可規模化擴充套件的能力。

路線 2 :分散式儲存構建

這一技術路線是透過構建分散式共享儲存實現擴充套件,採用非對稱計算節點,大部分公有云資料庫是這條路線。這條路線有限地解決擴充套件性問題,跨地域資料一致性主要依賴分散式儲存引擎。共享儲存能夠跨多個節點提供讀寫,上層的計算部分是無狀態的一組節點組成。當有寫能力的計算節點出現故障時,會自動從可用的讀節點中自動選出一個作為寫節點,實現寫能力的高可用。

路線 3 :原生分散式

這一技術路線是原生分散式資料庫,各計算節點提供對等的讀寫服務。這條路線是根據分散式一致性協議做底層設計,與傳統資料庫有本質區別。原生分散式資料庫將分散式儲存、事務、計算有機的結合在一起,資料由系統自動打散並儲存多個副本,透過一致性協議保證多個副本和事務日誌的一致性,對分散式事務、全域性 MVCC 等支援更為徹底。整個分散式結構是包裹在叢集內部的,應用對此無感知。

趨勢篇

石以砥焉、化鈍為利

隨著分散式架構資料庫在眾多場景使用,在享受到其帶來的收益之外,也對這一新架構產品提出了更多的挑戰。這些挑戰也為未來分散式資料庫發展指明瞭方向。

一、融合化原生設計

如上面談到的分散式資料庫存在不同路線,不同路線產品差異明顯。從長期發展來看,不同路線產品呈現逐步融合的現象,各家各取所長,不斷豐富產品能力。一方面相較於單機或集中式架構,分散式架構產品仍然存在諸多短板,可理解為基礎能力補齊;另一方面使用者對於分散式能力也提出了更高的要求,可理解為擴充套件能力增強。

基礎能力補齊

在分散式架構下,相較於單機或集中式架構,仍存在大量短板問題。這些會直接影響到使用者的使用體驗。如分散式事務的一致性保證問題,對於單機較容易實現的 ACID,分散式環境中出現了更多的難題。分散式資料庫將需要處理的事務進行拆分,再部署到不同的伺服器上進行處理,理想狀況下,整個過程需要全域性一致性協議的保護,而分庫分表兩階段的方式在一些意外情況下容易出現問題。再比如,分散式架構多采用存算分離架構,其天然會帶來分層間網路開銷問題,如何解決低延遲需求值得考慮。

擴充套件能力增強

隨著分散式資料庫的使用,如何使用好這一架構成為核心。例如在分散式場景下,如何做好資料分片的智慧化。分散式透過分庫分表進行資料拆分,從而各表的資料量保持在閾值以下,從而應對高併發和海量資料,但如何高效的、高質量的進行分片,還需再探索。此外,作為一種新架構產品,分散式資料庫所具備的彈性擴縮容、按需擴充套件、海量支援、多副本細粒度控制等課題,都是值得深入挖掘。

二、負載一體化設計

企業級應用的業務場景通常可以分為聯機交易和實時分析兩種,通常稱為 OLTP 和 OLAP 的業務應用。由於是不同的應用場景,很多企業往往會選擇多款資料庫產品分別支援。這種組合式的解決方案要求資料在不同產品間進行流轉,資料的同步過程就帶來了時間延遲和資料不一致的風險,而且還會產生冗餘資料,成本開銷被迫提高,這在一定程度上限制了企業的發展。分散式資料庫的出現,為企業解決上述問題帶來了契機,這也是近年來 HTAP(混合負載)的興起,其旨在打破事務處理和分析之間“壁壘”。未來分散式資料庫都應具備混合負載能力,即在支援高併發、事務性請求的同時,也對分析型的複雜查詢提供了良好的支援,實現計算、I/O 資源互不干擾。透過線上交易和分析互不影響,一站式地解決企業級應用的各種需求,從而大幅度降低成本,同時提高了企業決策的效率。

三、雲與雲原生設計

根據全球知名諮詢公司 Gartner 指出:“到 2022 年,75% 的資料庫將被部署或遷移到雲平臺...…”雲化無疑代表了未來。資料庫作為IT基礎設施,如何與雲環境融合成為大家的問題。特別是分散式資料庫,其架構需要大量資源構建。如何透過與雲的結合,有效解決靈活部署、彈性擴縮容、資源管理乃至如何更好地利用雲基礎資源做到真正的雲原生,這些都是分散式資料庫需要考慮的。因此在分散式資料庫產品設計層面就要充分適配雲環境、相容更多雲技術,從而新增更多資源管控、多部署形態、雲原生資源利用等雲化方面的能力。

四、高可用一致性設計

作為資料庫的基本能力要求,服務高可用和資料一致性一直是企業選擇資料庫的重點考察要求。特別是隨著數字化轉型,更多資料參與到企業業務流轉中,這些都對可用性提出了更好要求。傳統資料庫架構,在滿足 7×24 小時的服務不中斷和資料零丟失方面往往已經超出其可承受能力,或者即使能解決其成本也十分高昂。分散式資料庫具備的分層、多元件、多節點架構成為解決高可用的基礎,有效控制故障範圍、主動發現自愈等手段可大幅提升服務可用性。同時,其多副本機制為資料一致性安全提供可能,這也是相較於傳統架構的突破,可做到資料更為精細粒度的一致性,滿足各種資料場景下對一致性的不同等級要求。

五、軟硬結合異構設計

硬體和軟體是資訊系統的核心元件,兩者之間相輔相成,互相促進。新型硬體的出現,可以為資料庫發展帶來更多的收益。一方面以基礎硬體如多核 CPU、異構計算(如 GPU、FPGA)持久化記憶體、高速網路為代表的硬體出現,為分散式資料庫架構提供更多的想象空間;另一方面新型硬體也會為資料庫設計帶來更多挑戰,如何利用好新硬體值得各資料庫廠商思考,甚至會顛覆之前的設計模式。此外,作為關鍵基礎設施,資料庫還要為作業系統、晶片的灰度替換提供支援,而在關鍵行業及軟體領域,資料庫還需要提供對異構晶片的支援,從而提升數字化解決方案的嚴謹性,降低應用風險。

六、全密態安全設計

當前資訊保安已經上升到國家戰略高度,諸多行業監管機構和政府部門對資料儲存和使用都有明確的安全合規性要求。2021 年 11 月公佈的《中華人民共和國個人資訊保護法》,監管部門已在金融等行業中推廣資料加密,要求敏感資料採用加密的方式進行儲存。而作為資料承載主體的資料庫,有義務為此提供堅實的資料安全保障。那麼在分散式資料庫設計之初,就需考慮在資料傳輸、資料儲存、資料計算等多方面的安全問題。諸如透明資料加密、透明資料傳輸、多金鑰管理、國密演算法支援、密態計算等方面,都需要考慮。

七、低成本集約化設計

分散式資料庫,作為一種新架構產品,對於企業來說會帶來不小成本。從管理角度來看,分散式架構對運維人員都帶來新的要求,如何管理好成為要點。產品是否提供完整的管理能力、是否提供完備的生態工具等,將直接影響最終使用成果。從資源角度來看,分散式架構需要一定資源投入,如何規劃設計好並透過諸如租戶能力有效降低使用成本很重要。

八、高相容易遷移設計

對於底層資料庫替換,最為頭疼的就是資料庫的替換。大部分企業經過企業資訊化的長期積累與革新,在內部積累了大量的業務系統。傳統的企業級資料庫產品提供了強大的能力,協助開發者快速便捷地構建應用程式,但同時也導致應用設計過度依賴資料庫功能。適配新的資料庫產品必須對應用程式碼進行大量修改。沒有兩個資料庫是完全一樣的,分散式資料庫更是如此。其在底層架構、實現邏輯上必然存在差異。比較好的方式,就是提供高相容能力,這將有利於大幅降低程式碼改造成本。

目前大多數分散式資料庫還不完全具備主流資料庫生態的相容能力,相容的種類還不夠豐富,相容度還有待提高。此外,分散式架構對於設計上也有著特殊的要求,如何降低研發設計成本,近似透明地遮蔽這一差異很重要。此外,資料從傳統集中式資料庫遷移至分散式資料庫是一項複雜且龐大的工程。從前期相容評估、應用設計改造,到中期的業務測試、效能測試,指導最終遷移完成並保證遷移準確性等,這些都需要提供全流程的支援。這也是目前分散式產品普遍有所缺失的。希望未來分散式資料庫產品將具備全方位、高標準、高可靠性的平滑遷移能力。

發展篇

知之非艱、行之惟艱

分散式資料庫作為新技術架構,如何推進是需要多方位的支援。從近些年來看,從國家、行業、使用者等多方位都給予大力支援。從政策層面,將在作為資料基礎設施之一的資料庫提升到一定高度,重點佈局針對資料庫分散式轉型、應用創新戰略。在行業方面,越來越多的資料庫廠商加入進來,特別是以分散式為特徵的產品已然成為主流。在使用者方面,以金融、電信為代表的高資料價值企業,已經開始在核心生產系統逐步使用。但同時我們也看到,分散式資料庫在推進中,仍然存在諸多不足之處,這也是未來需重點關注發展之處。

一、培育自有生態

資料庫要想用好,是需要從“產、學、研、用”多角度考慮,是需要跟上下游生態形成合力,才能為客戶提供更為完整的服務。相較於之前國外商業資料庫或開源產品,國內資料庫生態還需要加大投入,培育自有生態。在這其中,可以透過生態相容加速這一過程,如何有效利用之前成熟生態值得考慮。此外,開源作為一種有效的生態構建手段,也是生態化建設的利器。

二、共建行業標準

作為一種新型資料庫,分散式架構尚未形成統一的行業標準或者事實標準。從終端使用者角度來看,不得不面對紛繁複雜的產品細節,這也阻礙了分散式資料庫的大範圍推廣。從行業整體發展角度來看,一方面可透過行業指導單位牽頭,由行業內眾多企業參與形成標準規範;一方面可透過構建標準化評測體系,建立可衡量標準。希望透過標準的建立,能探索出特色發展路徑,抓住機遇儘早實現分散式資料庫領域的換道超車。

三、樹立專有評測

分散式資料庫,作為新產品有其架構特色。對於這一新產品的理解,各家各有不同。行業內亟需統一的評測標準,從多維度評估這一新型別產品。這其中既包括傳統資料庫的基本能力,也需要包含分散式自有特點,如在高可用、備份恢復等。逐步建立其以功能測試、非功能測試及場景化測試相結合,形成完備的評測體系。

四、填補最後路徑

企業更換底層資料庫,是一個頗為痛苦的過程,更換為一種全新架構產品更是如此。大量使用者使用分散式架構的擔憂是來自於對新架構、新產品的未知及對實施路徑的陌生。前者我們可透過專有評測標準逐步熟悉,後者則需要透過最後路徑的填補做好“最後一公里”。從選型評估、工作量評估、結構資料遷移、流量切換、上線保障等多角度,形成標準的實施路徑將大大加速這一過程。

分散式資料庫,尚處於發展早期,但已呈現蓬勃之勢。雖然仍有很多不足,但發展空間巨大。這裡送給分散式資料庫從業者一句話:道阻且長,行則將至;行而不輟,未來可期!

來自 “ 韓鋒頻道 ”, 原文作者:韓鋒;原文連結:https://mp.weixin.qq.com/s/3y8KcSZFW6mGPoLcPRWGfg,如有侵權,請聯絡管理員刪除。

相關文章