首頁 > 新聞 > IT資訊 > 正文

SphereEx: Database Plus可能成為數據庫碎片化趨勢下架構選型最優解

2022-04-26 18:52:08來源:TechWeb  

【TechWeb】4月26日消息,SphereEx 公司創始人 & CEO張亮發表文章稱,碎片化是數據庫領域的大勢所趨,單一品類的數據庫無法適用于所有場景,只能適用于某一種或某幾種擅長的場景。

Database Plus 是一種分布式數據庫系統的設計理念,旨在碎片化的異構數據庫上層構建生態,在最大限度復用數據庫原生存算能力的前提下,進一步提供面向全局的擴展和疊加計算能力。

Database Plus 采用了既重視傳統數據庫的實踐經驗,又適配于新一代分布式數據庫的設計理念。無論是集中式還是分布式的數據庫,Database Plus 都能復用數據庫的存儲和原生計算能力,并在其基礎之上提供全局化的能力增強。

他表示,目前,Apache ShardingSphere 遵循 Database Plus 理念,已完成了DatabasePlus三大核心價值下的大部分基礎設施建設。

以下是文章截取:

一直以來,大一統還是碎片化,是數據庫發展趨勢的兩種最主流預測。隨著數字化進程的推進,單一場景無法滿足應用多樣化的需求,數據庫碎片化已呈不可逆的趨勢。在當前,市場占有率最高的商用數據庫— Oracle 并沒有明顯短板的情況下,各種全新的數據庫依舊如雨后春筍般層出不窮。如今,DB-Engines 上已有超過 300 余種數據庫參與排名。

應用場景的不斷擴張,加速了數據庫碎片化的進程,數據庫的架構、協議、功能、適用場景也愈加多樣化。在數據庫架構方面,基于單機系統演進而來的集中式數據庫與原生面向分布式的新一代數據庫并存;在數據庫協議方面,MySQL 和 PosrtgreSQL 這兩大主要開源生態以及周邊廠商所提供的服務生態也在全球數據庫體系中各自占有一席之地;每種數據庫的獨特功能和適用場景,也在相關的領域大放異彩。

碎片化是數據庫領域的大勢所趨,單一品類的數據庫無法適用于所有場景,只能適用于某一種或某幾種擅長的場景。

隨著企業采用的數據庫種類不斷增加,各種問題和痛點也隨之出現:架構選型困難、技術挑戰眾多、運維復雜度高、數據庫間缺乏協作和統管能力。

Database Plus 是一種分布式數據庫系統的設計理念,旨在碎片化的異構數據庫上層構建生態,在最大限度復用數據庫原生存算能力的前提下,進一步提供面向全局的擴展和疊加計算能力。使應用與數據庫間的交互面向 Database Plus 構建的標準,從而屏蔽數據庫碎片化對上層業務帶來的差異化影響。

『連接、增強、可插拔』是定義 Database Plus 核心價值的三個關鍵詞。相對于提供一個全新的標準,Database Plus 更傾向于提供一個可以適配于各種數據庫 SQL 方言和訪問協議的中間層,提供開放的接口用于對接各種數據庫。由于數據庫訪問協議的實現,Database Plus 和數據庫在使用體驗上并無二致,可以支持任意的開發語言和數據庫訪問客戶端。

Database Plus 采用了既重視傳統數據庫的實踐經驗,又適配于新一代分布式數據庫的設計理念。無論是集中式還是分布式的數據庫,Database Plus 都能復用數據庫的存儲和原生計算能力,并在其基礎之上提供全局化的能力增強。

不斷增加的數據庫類型對接和增強功能織入,會使 Database Plus 通用層逐漸趨于臃腫。連接和增強的可插拔化,既是 Database Plus 通用層維持小而美的基石,也是擴展生態無限化的有效保障。可插拔的體系,為DatabasePlus通用層提供了插件生態無限擴張的可能,使用者只需根據自身需求裁減插件即可。

通過可插拔體系,Database Plus 將能夠真正的構建面向數據庫的功能生態,將異構數據庫的全局能力統一納管。它不僅面向集中式數據庫的分布式化,也同時面向分布式數據庫的豎井功能一體化。

微內核設計和可插拔架構是 Database Plus 理念的核心價值,它面向通用的平臺層,而非某項具體功能。

目前,Apache ShardingSphere 遵循 Database Plus 理念,已完成了DatabasePlus三大核心價值下的大部分基礎設施建設。

ShardingSphere 已支持 MySQL、PostgreSQL、openGauss 等數據庫協議,以及 MySQL、PostgreSQL、openGauss、SQL Server、Oracle 和所有支持 SQL92 標準的 SQL 方言。連接層抽象的頂層接口可供其他數據庫開放對接,包括:數據庫協議、SQL 解析和數據庫訪問等。

ShardingSphere 的功能增強劃分為內核層和可選功能層。內核層包含查詢優化器、分布式事務、執行引擎、權限引擎等與數據庫內核強相關的功能,以及調度引擎、分布式治理等與分布式強相關的功能。內核功能的每個模塊都必須存在,但可以切換至不同的實現類型。以查詢優化器為例,如果待執行 SQL 可以完美下推至后端數據庫,則采用基于原始 SQL 與數據庫交互的計算下推引擎;如果待執行 SQL 需要跨越多數據源進行關聯查詢,則采用基于查詢計劃樹與數據庫交互的聯邦查詢引擎。

從最初的 MySQL + 數據分片為核心的架構模型,到如今的微內核 + 可插拔架構,項目進行了徹底的改造。從提供連接的數據庫種類和增強功能到內核能力,ShardingSphere 全部面向可插拔。

ShardingSphere 的架構核心外圍,由微內核、可插拔接口、插件實現這三層模型組成,層次之間單項依賴,微內核對插件功能完全無需感知,插件之間也無需相互依賴。對于一個擁有 200+ 模塊的大型項目來說,架構的解耦和隔離,是社區開放協作、將錯誤影響范圍降低至最小的有效保障。

Apache ShardingSphere 社區已在開源領域耕耘了 7 年的時間。長久的堅持,使社區愈加成熟,已呈開放和多元化的勢態。我們誠心誠意地歡迎有開源情懷和編碼熱情的朋友一起參與社區共建。

Apache ShardingSphere 的可插拔架構和數據分片哲學已在學術界獲得廣泛認可。在今年的數據庫領域頂級的會議 ICDE 中,已成功發表論文《Apache ShardingSphere:A Holistic and Pluggable Platform for Data Sharding》。

責任編輯:hnmd003

相關閱讀

相關閱讀

推薦閱讀