“雲”的力量崛起,資料庫市場再起波瀾
3 月 21 日,阿里雲對外發布了 POLARDB v2.0 。此前的 POLARDB 針對的是 MySQL 使用者,這一次 POLARDB 還可以相容 Oracle 資料庫。據悉,這也是首個相容 Oracle 的雲原生資料庫,可幫助金融、醫療、製造等大型企業在數小時內完成業務遷移, 10TB 資料備份只需 10 分鐘。
因雲而生的 POLARDB
資料庫誕生於上個世紀 70 年代,經過這些年的發展,無論是技術還是市場格局都已經趨於穩定,因此市場很長時間以來一直處於波瀾不驚的狀態,不過,雲時代的到來打破了這種平靜,因為在雲時代傳統資料庫面臨很多新的挑戰,這就給了新生的雲原生資料庫以機會。
在 2019 阿里雲峰會·北京站上,阿里雲智慧總裁張建鋒在演講時曾提到了雲給這個世界帶來的三個變化,即 IT 基礎設施的雲化、核心技術的網際網路化、應用的資料化和智慧化。
“基礎設施的雲化需要一套新的系統,需要基於網際網路技術來進行改造。因此,下一代的技術一定構建在網際網路技術和雲化基礎設施上的。”張建鋒表示。
而阿里雲的資料庫 POLARDB 正是適應基礎設施的雲化而誕生的,正因為此, POLARDB 這類資料庫也被稱為雲原生資料庫,包括 AWS 的 Aurora 也是這一型別的代表。
實際上,阿里雲早期也是傳統資料庫的使用者,正是因為雲的誕生,因為自身業務不斷成長,發現傳統資料庫越來越難以滿足自身的需求,才有了自研的雲原生 POLARDB 。
“ 阿里的業務很複雜,資料量很大,隨著業務的發展,基於開源資料庫的分佈分表中介軟體的解決方案已經不能滿足。這就是 POLARDB 誕生的直接原因。”阿里雲智慧資料庫產品線總負責人李飛飛說。
阿里雲智慧資料庫產品線總負責人李飛飛
享受雲等諸多技術紅利
作為一款誕生於雲時代、一開始就架構在雲平臺之上的雲原生資料庫天生地具有很多優勢。比如,彈性伸縮能力就是雲原生資料庫最重要的特點,即當用戶業務量低的時候,就少分配資源;當業務負載高的時候,通過只讀節點等逐漸擴充套件的方式,讓資料庫支援業務的增長。這種彈性伸縮的能力還帶來另一個好處,就是按需付費,成本節約。所以,雲原生資料庫往往具有更高的價效比。
“ 傳統資料庫的典型架構就是單節點架構,有儲存引擎、查詢引擎和優化器引擎,再上面是 SQL Parser ,這一套架構中儲存和計算是繫結在一起的,而云原生資料庫儲存與計算是分離的。 ” 李飛飛表示。
李飛飛介紹說, POLARDB 採用的是分散式共享儲存架構,計算與儲存分離。由於計算與儲存的解耦,儲存就可以通過 RDMA 高速網路做成一個分散式儲存,而看起來仍然像一個本地盤。正是由於採用了計算與儲存分離的架構設計使得 POLARDB 的最大資料容量可以達到 100TB ,這是開源資料庫難以企及的,也成為 POLARDB 很多早期使用者採用它來取代 MySQL 的一個主要原因。
除了藉助 RDMA 等網路技術實現彈性伸縮能力之外, POLARDB 還享受了很多現代技術的紅利。比如, POLARDB 採用了英特爾的傲騰——這是一種訪問速度介於記憶體和 SSD 之間的新型儲存介質,如果需要擴容,可以在 5 分鐘之內完成節點規格的升級和進行只讀節點的擴充套件,極速適配。
實際上,傲騰的對資料庫的影響不只是快速,它也在一定程度上改變了資料庫的設計邏輯,讓資料一旦寫了之後實時就可持續性了,持久化了。
另外,像 GPU 加速在 POLARDB 中也有采用。在 POLARDB 中一些重複性或相似性比較高的計算,會 Offload 到 FPGA 來做,通過 FPGA 的定製化的計算模組重複呼叫,來節省 CPU 的時間,從而帶給使用者更好地體驗。
不斷升級的產品
POLARDB 也在不斷升級,目前阿里雲還在研發 POLARDB 的分散式版本,今年會宣佈公測。該版本的目標客戶是業務資料量超過單機資料庫的承受能力,業務複雜對資源彈性要求高,例如要求資料不丟失,系統高穩定高可用。
據悉,它能支援更海量的資料、更高併發的處理能力,基於阿里的核心業務十餘年打磨,圍繞高效低成本儲存引擎 X-Engine ,提供企業化高可用的 X-Paxos 協議實現。
李飛飛介紹, POLARDB 分散式版本的一大特性就是解決了分庫分表問題。早期網際網路公司採用基於中介軟體技術的分庫分表 技術解決資源擴充套件問題 ,但這會大大增加系統的複雜度和對應用的侵入。因為很多時候這意味著業務邏輯的重構、軟體的改寫,成本非常高。而 POLARDB 分散式版本具有類似 Google Spanner 的先進架構,同時又擺脫其昂貴複雜的原子鐘依賴。
“阿里很多大促活動,比如‘雙 11 ’,光靠雲原生共享儲存是無法完全解決這個問題。過去兩年,我們一直在研發自己的分散式儲存技術,它的核心思路就是分佈分表,但我們不希望用中介軟體的解決方案。”李飛飛說。
李飛飛解釋說,與基於中介軟體技術的分庫分表不同,阿里雲希望做一個原生的分散式資料庫,在核心裡面做分佈分表,以儘可能減少對業務層的衝擊。現在阿里雲要把分散式資料庫的技術和 POLARDB 有機地結合起來。
“ 我們的目標是打造一個通用的商業資料庫,要求非常產品化、標準化,能夠支援不同產品。未來 POLARDB 分散式版本能夠提供一個基於共享儲存的一寫多讀的雲原生資料庫,同時利用分散式架構能夠快速靈活拓展。這樣,不管是在公有云上,還是針對線下的一些企業級超大規模的使用者,我們都能夠用 POLARDB 去統一滿足使用者需求。”李飛飛說。
有挑戰更是機遇
很顯然,在資料庫市場, POLARDB 是一個新來者,甚至與 AWS 的 Aurora 相比, POLARDB 也要晚幾年。但李飛飛認為,作為挑戰阿里雲的資料庫具有自己的獨特優勢,而最大的優勢是背後有阿里的業務在推動。
“任何技術都是業務推動來衍生的,只要你有業務場景,技術就一定會逐步從發展到領先。比如阿里電商‘雙 11 ’在世界上就絕無僅有,阿里雲的資料庫必須經受住海量和高併發的實戰考驗。”李飛飛說。
實際上,阿里雲資料庫技術也得到國際諮詢機構的認可,在 2018 Gartner 資料庫魔力象限中,阿里雲成為國內首個入選的科技公司。
“ 這代表了阿里雲的資料庫技術已經和頂級資料庫廠商站在了同一個舞臺。中國資料庫廠商有這個機會,非常榮幸。不能只說是阿里的功勞,也是整個中國 IT 產業、中國經濟發展的結果。如果沒有中國數字化經濟的蓬勃發展,我們是不可能取得這樣的成功。”李飛飛說。
李飛飛坦言,作為挑戰者阿里雲資料庫要真正與資料庫巨頭競爭,面臨不小的挑戰。
第一個是阿里雲和傳統資料庫廠商有一個非常大的不同,就是傳統資料庫廠商可以只研發資料庫產品,而阿里雲資料庫還要支援集團的業務,還要服務自己雲上的客戶以及私有云、混合雲的外部客戶。
“ 我們面臨的是非常複雜的一個場景:又要研發,又要運維。既要支援集團的業務,又要支援雲上的業務,所以穩定性、安全運維這絕對是我們第一生命線。”李飛飛表示。
第二個挑戰也是李飛飛認為最核心的挑戰,是混合雲部署所帶來的,這裡面既有技術上的挑戰也有業務上的挑戰。比如,你怎麼保證安全、穩定、高效地部署混合雲,混合雲的資料架構如何設計等等。
第三個是資料的安全隱私保護,這是阿里雲資料庫一直不敢放鬆的。
第四點就是智慧化大規模落地和應用。當系統越來越複雜,資料量越來越大,運維挑戰越來越高的時候,就必須利用人工智慧、機器學習的技術儘可能地實現自動運維,提高運維效能。
“ 這些是挑戰也是機遇,阿里雲的業務快速發展正在不斷驅動我們技術的發展,驗證和帶領技術不斷往前走,我們已經走在了雲原生資料庫領域的前列。”李飛飛總結說。