互聯網紅利不再,相比2010年,現在的市場上顯得太過平靜,已經太久沒有出現關于『風口』的故事。但在表面的歲月靜好之下,卻是底層的暗流涌動。其中,數據庫就是『底層暗流涌動』的典型場景之一,作為支撐數字經濟的最關鍵基礎設施,這兩年數據庫市場中一直都在上演著一浪高過一浪的競爭。
在亞馬遜公司看來,數據庫也被他們視作為下一個戰(zhàn)場。“The real battle will be in databases”,2016年,外媒在講述亞馬遜公司積極努力用自研數據庫產品取代Oracle曾如此寫道。
數據庫行業(yè)邁入深水區(qū)
據信通院統(tǒng)計,2020年,全球數據庫市場規(guī)模達到671億美元,中國數據庫市場規(guī)模約為240.9億元,占比約5.2%,市場空間廣闊。預期到2025年市場規(guī)模達688億元人民幣,年復合增長率24.3%。其中,國產數據庫廠商的市場份額有進一步提升的趨勢。國產數據庫市場的形式似乎一片大好。
伴隨數字化轉型步入“深水區(qū)”,企業(yè)的業(yè)務需求迭代迅速,數據量和并發(fā)訪問量呈指數級增長,傳統(tǒng)關系型數據庫遇到捉襟見肘的擴展能力、大數據處理性能低等挑戰(zhàn)。數據對于企業(yè)的重要性越來越高,企業(yè)對于以數據庫為核心的專業(yè)服務需求也愈發(fā)迫切。另外,在移動互聯網迅速席卷全國各個領域以及開源產業(yè)的發(fā)展,直播帶貨等新應用場景不斷涌現,既需要處理聯機交易,又要對客戶數據進行實時畫像,還要求數據庫在雙十一支持快速擴縮容等云原生特性,企業(yè)翹首以待新型數據庫來滿足不同的數據場景應用需求。
數據庫行業(yè)下的『綠林軍』,正一步步通過市場上的表現被轉化為『正規(guī)軍』。其中不乏深耕國產數據庫多年的傳統(tǒng)數據庫廠商,也不乏出生在云上的云原生數據庫,更有專注于業(yè)務敏捷的分布式數據庫、圖數據庫、時序數據庫….數據庫在傳統(tǒng)關系型流派的基礎上迅速裂變,進入百花齊放、百家爭鳴的時代。而國產數據庫,正是處于這一『漩渦』之中。
可以說,在光鮮亮麗的中國互聯網背后,正是一個個底層數據庫支撐起了這一組繁榮。
但光鮮的表面,卻遮蓋不住底層日趨復雜、低效的問題。在一個個專業(yè)化的數據庫細分服務領域下,即便用戶對于數據庫的可選擇性越來越高,但各個場景之間的壁壘、管理,卻出現了一些難題。因為不同類型的數據庫在能力層面上,都存在著不同的限制與不足。
業(yè)務層面上看,傳統(tǒng)關系型數據庫在面對企業(yè)業(yè)務數據量激增情況下存在水平擴展問題,而NOSQL非關系型數據庫無法處理交易類數據及復雜的業(yè)務邏輯。
技術角度看,一方面數據應用的變化倒逼數據庫具備更大數據存儲容量、更多數據計算模型、更快數據業(yè)務響應能力,整體技術發(fā)展進入后關系型階段,架構設計逐漸分布式化、模型構建逐漸場景化。另一方面,人工智能、新型硬件、區(qū)塊鏈等關聯技術的創(chuàng)新正在催生新型數據庫設計模式,傳統(tǒng)數據庫功能邊界正被逐漸突破。
也正因如此,由于企業(yè)數據庫技術體系龐雜,各個數據庫之間間隙明顯,管理困難,尤其是數據庫在企業(yè)中的角色向來都是成本中心,控制成本、提高效能,是企業(yè)對底層數據庫的長期不變的訴求。因此在多方位的作用下,企業(yè)需要服務提供商能夠提供橫向主流數據庫產品和縱向多版本技術服務覆蓋能力,以面對來自無感解決用戶側多元化需求以及抽離行業(yè)側共性問題并形成解決方案的訴求。
在此情況下,對于數據的利用和底層架構的轉型,就顯得尤為迫切。想辦法提升數據庫的靈活性與擴展性,打造組件化數據庫,或許是一種可行的方式。
數據的核心是連接:以Database Plus的形式在數據庫之上構建全新的連接關系
Database Plus,一種分布式數據庫系統(tǒng)的設計理念。通過在碎片化的同構或異構數據庫之上搭建使用和交互的標準層和生態(tài)層,疊加擴展更多計算能力,使得所有應用和數據庫之間的交互面向Database Plus構建的標準層,從而屏蔽數據庫碎片化對上層業(yè)務帶來的差異化影響。
近年來,『去O』已經成為許多企業(yè)衡量自身后臺架構演進進程的一條重要指標。究其本質,這是在有意減少對于某種商業(yè)數據庫的依賴。但從另一個角度看,被替代的數據庫可以是Oracle,自然也可以是其它另一款商業(yè)數據庫。追求多元化、『因地制宜』發(fā)揮數據庫最大效能,以便于企業(yè)在未來底層數據庫的選擇中能夠擁有更大的自由度。
但是這種改變并非只是字面意義上的變更,更在于變更數據庫之后所帶來的短時間內一系列成本的上升,遷移成本、時間成本、學習成本等等,企業(yè)在轉型過程中往往會帶來更大的陣痛感。為降低這種陣痛感,如果不對數據庫本身做變更,而是在其上層提供額外增值服務,也許就會實現傳統(tǒng)關系型數據庫向云、實時計算等場景的平穩(wěn)過渡。
(1)鑄造Database Plus生態(tài)
基于此,Apache ShardingSphere于業(yè)界首次提出了Database Plus理念,標志著ApacheShardingSphere不滿足于自身數據庫中間件工具型的定位,開始向著平臺和生態(tài)去轉型。DatabasePlus理念的踐行,使Apache ShardingSphere不但屏蔽了各個數據庫之間的底層細節(jié),也彌補了分布式數據庫各分片之間的差異。具體來看,通過對數據庫協(xié)議、SQL方言以及數據庫存儲的靈活適配,快速連接應用與異構數據庫,讓開發(fā)者最終無需關注SQL方言的差異化,專注業(yè)務研發(fā)。
Apache ShardingSphere在這層數據庫的生態(tài)之上,通過將數據庫作為最終的存儲節(jié)點,在接入端滿足各種各樣的數據庫協(xié)議、SQL方言以及數據庫落盤對接等,進而在這層存儲節(jié)點之上面向數據庫應用架構提供各類增量能力。因此,用戶可以將Database Plus視作一個“數據庫網關”,可獲取數據庫的訪問流量,提供流量重定向(數據分片、讀寫分離、影子庫)、流量變形(數據加密、數據脫敏)、流量鑒權(安全、審計、權限)、流量治理(熔斷、限流)以及流量分析(服務質量分析、可觀察性)等透明化功能,這些增強功能使得ShardingSphere成了數據庫產品的最強伴侶,用戶無需為如何統(tǒng)一管理各個數據庫而發(fā)愁,主流的鑒權、治理功能完成都可通過DistSQL這一SQL標準的擴展來完成。
(2)靈活的部署模式
隨著分布式數據庫在近些年來的逐步成熟,其天然具備Proxy一層。不過由于支持異構語言的Proxy模式被一再證明性能瓶頸之后,基于特定開發(fā)語言的Proxyless模式重新回到了工程師的視野之中。無侵入的異構語言友好性,和針對于特定語言的高性能的權衡,成為了分布式數據庫架構選型的核心問題之一。
Apache ShardingSphere作為一款由多接入端共同組成的生態(tài)圈,通過混合使用ShardingSphere-JDBC(Proxyless模式)和ShardingSphere-Proxy(Proxy模式)這兩種部署模式,用戶可以在Apache ShardingSphere生態(tài)內采用同一治理中心統(tǒng)一配置分片策略,進而能夠靈活搭建適用于各種場景的應用系統(tǒng),使得架構師能夠更加自由地調整適合于當前業(yè)務的最佳系統(tǒng)架構。
生態(tài)的核心是包容:需要一個更包容、更開放的生態(tài)
一場自我顛覆式的代碼重構,一場直達終端工程師體驗的廣義『再造』,一個深耕場景的數據時代。
在Database Plus理念的加持下,Apache ShardingSphere進行了大膽的革新,重構了過去原有的技術架構,開始向著可插拔生態(tài)邁進。前段時間Apache ShardingSphere 5.0.0版本正式上線,正式開啟了以可插拔架構為核心的全新階段,實現了由過去數據分片單一應用場景到現在復雜應用環(huán)境下綜合數據治理的身份轉變與能力提升。在新版本下,Apache ShardingSphere具備了更多新特性,并擁有了更加成熟的數據解決方案。
隨著本次更新對可插拔架構體系的完善,標志著ApacheShardingSphere在分布式數據庫生態(tài)領域的探索進入到一個全新階段。以可插拔架構開路,以DistSQL架橋,Apache ShardingSphere正在面向開發(fā)者打造一個更加包容、更加開放的Database Plus數據應用新生態(tài)。
(1)可插拔架構
放開限制,給用戶更多的選擇和自由。
作為Database Plus生態(tài)的重要組成部分,Apache ShardingSphere可插拔架構通過追求各個模塊之間相互獨立和互無感知,憑借高靈活度、可插拔及可擴展的內核,以疊加的方式將各種功能組合使用。目前,Apache ShardingSphere已支持數據分片、讀寫分離、數據加密、影子庫、數據庫發(fā)現等功能通過插件的方式植入,進一步提升了對于SQL方言的支持度。
(Apache ShardingSphere可插拔架構圖)
誠如上文所言,越來越多的細分業(yè)務領域,讓不同數據庫之間逐漸產生了『隔膜』。隨著Apache ShardingSphere在5.0.0正式版中逐漸完成對于內核層、功能層與生態(tài)層這三層可插拔架構的構建,最終呈現出松耦合結構的狀態(tài),在數據庫與業(yè)務之間形成一層中間可插拔的靈活架構,使所有功能都能夠被疊加使用,用戶可根據自身需要來自定義這層可插拔架構以及數據庫服務。
(2)DistSQL:賦能技術人員,就是在賦能業(yè)務與數據庫
ApacheShardingSphere在標準SQL能力之外提供了一套分布式SQL,用戶可以像使用數據庫一樣使用標準的SQL來管理分布式數據庫服務。
作為Apache ShardingSphere在分布式架構體系下的重要支撐部分,DistSQL在傳統(tǒng)數據庫上層構建,讓開發(fā)者在實際應用中能夠以標準的SQL來管理分布式數據庫服務,打破中間件與數據庫之間的界限,從而將分布式數據庫各分片之間的鴻溝給填平。
為改善Apache ShardingSphere配置復雜、操作繁瑣的問題,DistSQL以自身獨特的語言特性,在數據庫之上提供統(tǒng)一的資源和規(guī)則定義語言,進而降低用戶使用Apache ShardingSphere面向繁瑣配置的操作門檻。不夸張的說,DistSQL已經成為Apache ShardingSphere從面向開發(fā)人員的框架和中間件轉變?yōu)槊嫦蜻\維人員的基礎設施產品不可或缺的能力。
(3)活躍的開源社區(qū):項目生存與發(fā)展的基石
在2021年Apache基金會年度報告中,Apache ShardingSphere的代碼提交數量位列前十,占整個基金會代碼提交數量的1.6%;
從2021年1月1號的208名貢獻者,到2022年1月1號的340名貢獻者,一年內增加了100+貢獻者;
Apache ShardingSphere社區(qū)舉辦了首屆線上Meetup,吸引了近萬名開發(fā)者觀看線上直播;
Apache ShradingSphere海外聲音漸多,案例被MySQL官方收錄;
......
一系列的數字和案例場景表明,Apache ShardingSphere正在被推向更廣的應用平臺以及更深的技術場景,且已經成為了國內開源社區(qū)的靶心,吸納了大量開源愛好者的參與和貢獻。
如此一來,Apache ShardingSphere基于Database Plus理念,形成了自己獨立的可插拔功能性基座,成了新時代靈活的“數據庫操作系統(tǒng)”,通過自研標準化的DistSQL交互語言,在數據庫上層構建起了能夠從容應對SQL創(chuàng)建、修改、刪除分布式數據庫表、加密數據庫表及提供分布式調度管理能力等管控平臺。
另外,Apache ShardingSphere通過統(tǒng)一的上層接口,讓用戶對接MySQL、PostgreSQL、Oracle、SQL Server等各類型數據庫,并提供接口讓開發(fā)者自主拓展開發(fā),通過可插拔體系幫助大家建立分片、加密、遷移、治理、影子庫、讀寫分離、高可用及不斷增強的數據能力,借助數據庫與應用之間的這個緩沖帶,“搭個臺子”幫助業(yè)界以最低成本打造一個良好的數據庫生態(tài)。
業(yè)務的核心是場景:這是一個深入云上的業(yè)務數據時代
隨著業(yè)務場景的演變,數據庫架構也在不斷地演進。從單節(jié)點架構到共享存儲架構,再到分布式數據庫、云原生數據庫等,一個讓人關注的變革已然發(fā)生:在數字化時代,數據的產生速度極快,存在不均衡現象,不上云的傳統(tǒng)數據庫越來越難以適應新的場景。根據權威咨詢機構IDC預測,到2022年,75%的數據庫將被部署或遷移至云平臺。
在產業(yè)數字化轉型時代下,技術架構向云原生演進是不可逆的時代潮流,但從目前的進展來看,大多數互聯網巨頭的應用層基本都已經完成了微服務或者服務網絡的改造,但是數據面卻還處在相當碎片化的情況。
因此,Apache ShardingSphere背后的商業(yè)化公司SphereEx推出SphereEx Mesh概念。在Database Plus的基礎上,讓用戶定制化自身數據庫運行所需要的最小運行環(huán)境,從而利用Mesh的設計思想構建有彈性可擴展的數據庫集群,為用戶提供便捷的數據應用連接服務,幫助用戶更好地釋放云上數據價值。
近日,SphereEx CTO潘娟榮獲“AWS Hero”稱號,這是亞洲地區(qū)在數據庫領域屈指可數的獲獎者,SphereEx云上理念得到了AWS的認可。據了解,未來SphereEx將會和亞馬遜云科技保持緊密的合作關系,共同為Apache ShardingSphere打造公有云上的部署形式,為用戶提供更加強大的公有云能力,為企業(yè)應用打造更加成熟的云上環(huán)境,幫助企業(yè)在下一代云上“數據庫之戰(zhàn)”中搶占先機。
持續(xù)做有價值的事
任何一家創(chuàng)業(yè)公司,所面對行業(yè)一定是要有改變的內驅力,所研發(fā)的產品一定要兼具實用性和趨勢性,在數據庫領域下尤為如此。隨著數據庫行業(yè)的發(fā)展,其正逐漸成為當下數字時代的中堅力量。毫無疑問,Apache ShardingSphere和它背后的創(chuàng)業(yè)公司SphereEx目前在走的是一條創(chuàng)新的路、艱難的路。但越難,這件事情的門檻就越高,在生存下來之后距離突破和爆發(fā)的臨界點就越近。
目前,以開源項目ApacheShardingSphere為基礎的商業(yè)化公司SphereEx,在商業(yè)化的道路上動作頻頻。1月4日,SphereEx宣布完成近千萬美元的Pre-A輪融資,在公司成立半年的時間內快速完成兩輪融資,足以見到資本對數據庫賽道、對ShardingSphere社區(qū)以及SphereEx商業(yè)化道路的認可。
同時,SphereEx已經開始邁出了商業(yè)化的第一步。為進一步降低Apache ShardingSphere在部署方面的復雜性,SphereEx針對性研發(fā)了一款用于一鍵部署及管理ShardingSphere-Proxy集群的命令行工具--SphereEx Boot,并已于日前發(fā)布。此次SphereEx-Boot V0.1.0版本發(fā)布,既是SphereEx對Apache ShardingSphere周邊生態(tài)的補充,也是對SphereEx商業(yè)化布局的一次初步驗證和探索。
在數據庫的市場下,每一個場景和每一位工程師都在誘惑著數據庫廠商加速迭代變化,SphereEx和Apache ShardingSphere正走在這樣的路上。面對來自業(yè)務場景及工程師的雙重推動,在數據庫上層構建一套完整的數據治理生態(tài),并以這層生態(tài)為踏板,實現傳統(tǒng)關系型數據庫向數字化新需求的平穩(wěn)過渡,相信將是未來企業(yè)轉型以及實現數字化的一條『必經之路』。