1、Apache ShardingSphere 論文被 ICED 收錄
近日,由 Apache ShardingSphere 社區、SphereEx 以及重慶大學計算機系團隊共同撰寫的關于《Apache ShardingSphere:A Holistic and Pluggable Platform for Data Sharding》論文,被數據管理與數據庫國際頂級會議 ICDE 長文錄用,成為業界首篇關于數據分片的頂級會議論文。
ICDE(The International Conference on Data Engineering)是中國計算機協會(CCF)推薦的 A 類國際學術會議,是數據庫和數據挖掘領域頂級學術會議之一,是電氣與電子工程師協會(IEEE)的旗艦會議,和 SIGMOD、VLDB 并稱數據管理與數據庫領域的三大國際頂尖學術會議。
此次被收錄,代表 Apache ShardingSphere 所倡導 Database Plus 理念的工程化實踐,經過 5 年多的研發及生產驗證外,已經得到理論層面的驗證。其提出的基于數據庫之上的增強計算引擎,及內置的多層可插拔架構得到很好的印證。其研究成果獲全球頂會認可,也代表著 Apache ShardingSphere 在數據庫底層核心基礎性技術研究方面持續獲得了創新性突破。該論文印證了在關系型數據庫仍然是在線事務處理的主力,但缺乏可擴展性以及無法高效解決高并發問題,以及 NewSQL 數據庫會帶來額外學習成本的背景下,Apache ShardingSphere 作為一款數據庫中間件來連接和管理眾多已有的數據庫,已經成為一種十分友好且高效的方式。
2、驗證 Apache ShardingSphere 的科學發展路徑
Apache ShardingSphere 從誕生至今,已經走過了 6 年多時間。在旁觀者的視角看來,不論是項目本身或是開源社區,Apache ShardingSphere 都已經相當成功。
(1)我們為什么要完善現有的數據庫生態,而并非新建一款數據庫?
Apache ShardingSphere 旨在充分合理地在分布式的場景下利用關系型數據庫的計算和存儲能力,而并非實現一個全新的關系型數據庫。
時至今日,關系型數據庫作為支持完整事務的最優選擇,其仍然是在線事務處理的主力。但由于關系型數據庫在設計初期是針對單臺機器的,并沒有考慮到流量、數據過大時的場景,因此可擴展性欠佳并且無法高效解決高并發問題。在此背景下 NewSQL 應運而生,New 就意味著是從零開始開發的數據庫。雖然適合現在的應用場景,但其還沒有大量接受過真實生產環境的檢驗,并且還會為企業的維護人員帶來額外學習成本。
在此背景下,Apache ShardingSphere 也一步步從工具發展到生態,立足點越來越高,影響范圍越來越廣,這樣的系統打破了關系型數據庫架構的限制。目前,Apache ShardingSphere 已更新 5.1.0 正式版。伴隨著此次更新,Apache ShardingSphere 也正式將產品定位轉向以 Database Plus 為核心的全新領域,旨在構建多模數據庫上層的標準和生態。除在數據庫上層提供強大的增量能力之外,Database Plus 架構也為開發者和用戶開放了高度可擴展的數據庫生態,幫助用戶站在數據庫的上層視角,更多關注數據庫之間的協作。
(2)Apache ShardingSphere 的多重特性
可插拔
Apache ShardingSphere 項目采用微內核 + 三層可插拔模型,使內核、功能組件以及生態對接完全能夠靈活的方式進行插拔式擴展, 開發者能夠像使用積木一樣定制屬于自己的獨特系統。在 Apache ShardingSphere 的框架下,所有功能均可通過積木化的形式組裝到 Apache ShardingSphere 體系中,且可以疊加使用。而在開發者面向標準的 SPI 編程中,內核對增量功能是無感知的,所以 Apache ShardingSphere 在實際的應用場景中可以靈活組合多個功能模塊,為用戶提供無限的想象空間。
此外,Apache ShardingSphere 是基于 SPI(Service Provider Interface, 一種 Java 語言中的服務發現機制)和多種設計模式設計的。因此,更多類型的數據庫、功能、分片算法都能夠非常方便地加入、移除以及自由組合。
其中,作為研發ShardingSphere的起源訴求,數據分片一直以來都是ShardingSphere的重要特性之一。對于許多用戶來說,分片功能也是其使用ShardingSphere的初期原因之一。綜合來看,對關系型數據庫進行數據分片操作,以水平數據分片的方式突破單臺機器存儲量的限制,是基于現有情況下更適合于企業的解決方案。
高性能
論文中提到,重慶大學與 SphereEx 在 Sysbench 和 TPCC 這兩個測試環境下進行了多輪實驗,驗證了在相同的配置下 Apache ShardingSphere 的性能都優于大多數分片系統和新架構數據庫。詳細數據可參照下圖:
(Sysbench 測試結果)
(使用 TPCC 對不同分布式系統的比較)
結 語
Apache ShardingSphere 目前已經在數百家海內外企業的生產環境中得到應用,涉及互聯網、游戲、銀行、保險、證券、制造業、電信、新零售、政府等多個行業,已得到多個真實生產場景的驗證。
隨著本篇論文被 ICDE 收錄,也標志著學術界對 Apache ShardingSphere 理念的的認可,將會為數據庫行業發展、提升數據處理效能等方面提供了新的解決思路,也為關系型數據庫應用分布式能力、可插拔架構的普及、數據庫上層生態的建設奠定了堅實的理論基礎。
通過本篇論文,希望 Apache ShardingSphere 在該領域下的探索可以啟發到其他數據庫領域的開發者與學者,共同繁榮數據庫生態,將數據庫打造為更加貼合業務場景的數據服務平臺而努力。