阿裏雲發布了一個跑分超過AWS的數據庫, 我們跟產品負責人聊了聊
阿裏雲表示,POLARDB實現了AWS Aurora性能的1.2倍。
三年前,AWS宣布推出關係型數據庫亞馬遜極光(Amazon Aurora)。
“那時候,我們Amazon Aurora覺得簡直是世界巔峰。”阿裏雲數據庫總負責人餘峰在接受36氪專訪的時候感歎。不過在昨天的發布會上,他們發布的新產品毫不客氣地在跑分上超過了Amazon Aurora。
9月21日的發布會上,阿裏雲正式梳理了他們整套雲數據庫家族,包括主流的關係型、NoSQL非關係型數據庫(適用於內容緩存和Web應用等場景,包括鍵值型、文檔型等)、麵向大數據和AI的混合分析數據庫、對麵搜索和物聯網等場景的搜索和時序數據庫。為了方便用戶將數據庫上雲,阿裏雲還有配套的遷移管理服務和工具。
不過,發布會現場的重點,還是上麵提到的跑分超過了Amazon Aurora的新產品——阿裏雲自研的商用關係型數據庫POLARDB。據阿裏雲方麵介紹,該數據庫采用第三代分布式共享存儲架構,實現計算節點和存儲節點分離,使計算引擎和存儲引擎均擁有快速擴展能力,一個數據庫即可滿足多類數據庫的混合使用效果。目前,該產品已經開始公測。
數據庫的無處不在和軟硬一體
“每一個公司都需要一個數據庫。”在信息技術的世界裏,數據庫幾乎無處不在,小到一台計算器、藍牙音箱,大到一台電腦,隻要涉及到通訊或者數據的存儲與計算,都離不開數據庫。我們可以拿平時用的電腦來理解,每一次命令,都需要用到數據庫。
那麼,如何衡量數據庫的好壞?性能、數據的可靠性和安全性,是三個最基本的維度。
餘峰解釋,數據庫最重要的就是存東西,並且在需要的時候把它取出來,因此存的效率怎麼樣,取的時候又怎麼樣(性能)非常重要。比如,淘寶係統,有著數以億計的賬戶名和密碼,同時有三十萬人登錄很正常,如何同時讀取三十萬個,完全不會變慢,高並發讀寫是數據庫非常重要的能力之一。
他又打了一個比方,“你的錢在銀行係統裏,可能就是一行代碼,一旦這個信息丟了,就不得了。”這就像數據的可靠性。至於,數據誰能改、誰不能改,這就是安全性。
影響數據庫表現的因素又有什麼?
“數據庫是一個軟硬一體化的東西,涉及到方方麵麵。”
一方麵是硬件。數據需要存儲,涉及磁盤等存儲介質;但又不能全都放在硬盤裏,否則很慢,因此內存必不可少;取出來之後需要計算,所以對CPU的要求也很高;算完之後怎麼給到用戶,涉及到網絡。
另一方麵是算法。算法牽涉的東西更為複雜,餘峰並無細講,同樣是舉了幾個例子。
首先,數據庫很重要的是要支持高並發,一旦用的人多了,就很容易相互受影響,如果做好隔離,保證效率。
再者是事務能夠正常運行和回滾的能力。比如,轉賬作為一個事務,其實涉及到三個動作:先查一下A的錢夠不夠、然後從A那兒扣錢、最後加到B那兒去,如果任何一步無法繼續,這個事務就不能完成,數據要保證一旦出錯,能夠回滾到事務的初始狀態,不能有中間狀態。
另外,異地災備的情況下如何保證事務的一致性,假設同步三節點中,如果有一條線路傳輸出現問題,要如何處理。
上述這些,都涉及都算法。
阿裏雲的PolarBD跑分超過AWS Aurora?
就算你不知道什麼是數據庫,但說起數據庫,你肯定想到這個領域的巨頭Oracle(甲骨文)。這家公司甚至已經成為了數據庫的代名詞。
正如餘峰所言,數據庫需要軟硬件一體化。Oracle的缺點是,不僅軟件極貴,如果要把的數據庫的性能發揮到極致,需要維持“Oracle數據庫+IBM小型機+EMC存儲”這個組合,後續開支龐大,對管理員的能力極高。
後來,彼時互聯網巨頭雅虎開始使用開源的MySQL數據庫,MySQL本身擁有靈活和性價比高等優勢,加上雅虎的示範,MySQL數據庫成為了不少互聯網公司的選擇。隨著雲計算的發展,雲數據庫開始出現,後者使用門檻低、便於快速擴展。2015年的AWS re:Invent大會上,亞馬遜宣布了Amazon Aurora。Aurora是一個關係型數據庫,可以跨3個可用區域複製6份數據,其設計目標是提供高性能和高可用性(99.99%)。
阿裏雲昨天推出的POLARDB,明顯對標的就是Amazon Aurora,它跟後者采用了相同的設計理念,底層同樣基於MySQL作出大量改進。
在昨天的發布會上,阿裏雲又來了一次現場跑分,表示在標準場景下,POLARDB性能是MySQL的6倍,單實例實現100T級存儲容量;而在雲數據庫廠商中,阿裏雲POLARDB則實現了AWS Aurora性能的1.2倍。餘峰解釋,這算是阿裏雲的後發優勢,POLARDB用了最新的RDMA網卡,同時對數據庫的細節做了優化。
據餘峰介紹,整套PolarBD的解決方案大體可以分成三部分:兼容MySQL的數據庫軟件、新一代的計算機節點、阿裏雲的第三代分布式共享存儲方案。
新一代的計算節點的CPU和網卡,以及存儲的SSD磁盤與FPGA卡,都是單獨為數據庫定製的。這些可以說都是數據庫服務中硬件部分的體現。
在算法部分,阿裏雲這次重點介紹的,是POLARDB的第三代分布式共享存儲方案。
餘峰介紹,整個國內外雲廠商的數據庫服務,在存儲部分經過了三代的發展。
第一代傳統數據庫跑在單機上,計算(CPU)和存儲綁定,用的是本地盤,意味著每一個計算節點,都要掛一個盤,它的問題是每一個節點的存儲空間是有限的。
第二代的集中式存儲,計算與儲存分離,把存儲集中起來管理,解決了存儲擴展的問題。因為每份計算都有一份數據,在這個體係下有很多的數據副本,導致成本非常高。此外,不同的節點之間數據可能出現不同步,數據一致性很難解決。“EMC做儲存很厲害,但是為什麼做數據庫沒有火,就是因為延遲特別大。Amazon和阿裏的優勢就在於延遲非常小。”
第三代數據庫與第二代的不同,是計算節點之間的通訊效率非常高。這相當於所有的計算節點是一個集群,節點可以無限增加,儲存都在一個盤陣裏。阿裏雲介紹,產品架構上,POLARDB采用了節點間共享存儲架構,讓數據庫實現極速擴展,通過重新設計的文件係統PolarStore,實現相同數據更新操作減少了50%的磁盤寫入量,並縮短了寫數據的路徑,使寫性能顯著提高,對讀事務實現了優化。
上麵介紹的數據庫係統,昨天剛啟動公測,究竟用起來效果怎麼樣,還需要拭目以待。不過,餘峰表示,一般的企業忽然換數據庫的動力不太,除非是原來的數據庫服務太貴、對數據可靠性和對性能的要求有更大的要求,或者是新業務在新數據庫服務上跑得不錯,會考慮更換。
為了方便客戶數據庫上雲,阿裏還推出“IaaS的價格,PaaS的服務”的基礎辦雲服務器,意味著你買一個包含了雲服務器的數據庫服務,跟隻買雲服務器價格一樣。同時為了慫恿客戶用POLARDB,阿裏雲表示,原來在用阿裏雲的MySOL數據庫服務的客戶,直接遷移到POLARDB上,收費甚至比較前者更便宜。
這不就是傳說中的補貼嗎?很好,這模式很滴滴……
最後更新:2017-09-26 16:33:51