在越來越多的會議、媒體、文章、報道上看到一種說法:“未來的數據庫是云數據庫的時代,云數據庫廠商終將取代傳統數據庫廠商”。首先我并不否認這種說法,但是云數據庫是否真的推進了數據庫技術的進步有待商榷。本文我想談談自己的一點看法。
商業的成功
近幾年我們發現以亞馬遜aws、微軟azure、阿里云polardb等為主導的云數據庫突然興起,迅速占領了市場,慢慢蠶食著以db2、oracle為首的傳統數據庫廠商的市場份額,雖然oracle公司也從oracle 12c版本開始朝著云化的方向發展,但是鑒于oracle架構的復雜性,這條路一直走的比較艱難,成效并不顯著。
\在2019年的Gartner全球數據庫魔力象限評選中,AWS、微軟、阿里云、谷歌云都出現在了這個榜單中,而且微軟云和亞馬遜azure已經緊逼傳統巨頭oracle,在領導者象限齊頭并進。同時阿里云已經連續兩年入選數據庫魔力象限,2019年還首次入選挑戰者象限,距離領導者象限只有一步之遙。隨著阿里云、谷歌等云廠商強勢上升,IBM、SAP則出現了明顯下滑,IBM從領導者象限滑首次落至遠見者象限。
下面這張圖Gartner的報告,顯示了2018年全球數據庫廠商份額對比。我們可以很清晰地看到云數據庫廠商呈現爆發式的增長,而且上漲勢頭不止。
\
Gartner的數據顯示,2018年,數據庫云服務已經為整個數據庫市場貢獻了104億美元,整個市場是460億美元,這其中不包括托管licence。同時整個數據庫市場的增長接近70%來自于云數據庫的增長。
技術的倒退
我本身是一個做技術的,不是研究市場的。所以我深知數據庫作為基礎軟件設施上的“明珠”,技術門檻之高常人無法想象。
1977年IBM完成system R系統原型設計,后來DB2數據庫于1983年推出,成為關系型數據庫的開拓者;1977年拉里埃里森創辦oracle公司,同時于1979年推出oracle數據庫;postgresql始于1986年,最初由伯克利的postgres軟件擴展而來。還有infomix、mysql、sql server、sybase等數據庫其實都是經過幾十年的漫長發展。
DB2、oracle作為傳統數據庫廠商的代表,經過這么多年的發展,其實給數據庫領域的研發帶來非常高的門檻,如果從頭開始設計一款數據庫難度非常大,首先從最底層的模塊:sql引擎、數據庫對象、存儲引擎、事務管理、緩沖區設計、內存設計、鎖管理等等都是難度非常大,而且要把這些模塊整合起來成為一個完備的數據庫系統更是難上加難,所以新型廠商如果想從頭做一套新的數據庫幾乎很難實現。
那么這些新型數據庫廠商是如何實現彎道超車的呢?答案其實是:“概念+整合”。
“概念”其實就是數據庫“云”的概念,其實我一直覺得數據庫是一個不適合云化的東西,云其實有兩層概念,代表著云化的兩條路,一是云廠商根據客戶資源需求提供基礎設施和軟硬件,類似公有云,適合個人客戶或者體量不大的客戶;另外一種是大企業由于數據的重要性需要將云搬到自己的數據中心,或者自己建云,這里的云可以是實現一套管理平臺,將所有數據庫管理起來,實現資源的自助申請、自動部署、自動交付。
“整合”說的是云廠商并不自己研發底層的數據庫內核,或者研發出一套新的數據庫,而是將現有的開源數據庫進行整合,云廠商的研發重點在于如何將這些開源數據庫整合起來,實現統一管理,形成自己的一套大的云數據庫,在用戶角度來看,用戶不知道或者不關心底層是什么數據庫,用戶只需要給云廠商提出cpu,內存,容量等需求,云廠商那邊實現了IaaS,PaaS,自動的數據庫實例創建,交付給用戶,數據庫維護、數據備份等維護類工作由廠商完成。所以說云廠商其實是看到了市場的機會,個人客戶和小公司其實占據絕大多數,他們是沒有能力或者必要去購買高額的licence,反而選擇云廠商是一個很好的選擇,同時還節省了很大部分維護費用。
那么我為什么說數據庫云是技術的倒退呢。拋開市場不說,單看技術,數據庫云其實就是實現了一套數據庫管理平臺,不管是公有云還是私有云,最終技術的研發都還是在圍繞著如何更高效地交付、管理用戶的數據庫。其實底層真正能稱為數據庫的那部分內核是沒有改動的或者改動很小的。
現在的云廠商底層數據庫幾乎都是mysql或者postgresql,將它們進行整合,提供兼容mysql或者postgresql的服務。當然不否認很多廠商做了很多技術創新,比如說存儲計算分離,計算層的mysql或者pg可以無限擴展,存儲層共享,同時使用rdma進行計算層和存儲層的互聯,實現高速訪問,還有一些針對mysql做了優化,比如基于redo的物理復制,使用全局內存取代log shipping提供一致性讀等。這些功能雖然也觸碰到了數據庫的內核,但是也只是很小的一部分,而且說到底只是為了使云上更高效而做的創新,還是向市場看齊的。
我們想象一下,如果這些云廠商未來真的取代了db2、oracle這類公司,到底是好事還是壞事呢?Db2、oracle是從最底層的數據庫模型的設計一步一步走過來的,這些技術門檻非常高,這些東西才是數據庫的根基,如果根基都沒了,“云”只是一團空氣。
責編AJX
-
云計算
+關注
關注
39文章
7742瀏覽量
137208 -
數據庫
+關注
關注
7文章
3767瀏覽量
64278
發布評論請先 登錄
相關推薦
評論