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