TPC-C中跑贏Oracle的OceanBase,最近有何驚豔?

就在一年一度震撼人心的雙11前夕,有消息稱前段時間火爆到瞬間刷屏的OceanBase已經完成了Oracle模式的研發,助力銀行和金融機構原先使用Oracle的業務可以平滑遷移到OB上,據悉目前已有銀行領域的小夥伴完成了搬遷。

這不僅幫助金融機構降低了數據庫使用成本,搬遷至OB後還可以享受分佈式帶來的紅利,例如高可用、高性能和在線擴展等。更重要的一點,OB提供的分佈式能力能夠幫助金融機構加速自主創新的步伐。

提及OB,或許大家還記得一月之前,OB成功挑戰TPC-C測試進而刷新Oracle已經保持九年的得分紀錄這一新聞,其實一直以來衝擊TPC-C測試可謂是所有數據庫內核開發技術人的夢想,但由於測試標準十分複雜,儘管商業背書價值頗高但卻無一成功,作爲國產數據庫首次衝擊榜單,OB團隊更是夜以繼日準備了一年之久。

如今的OB團隊雖已在TPC-C測試中一枝獨秀,但由於從2010年就長期保持的加速研發狀態,也基於OB的快速創新迭代需求,據晶少了解團隊目前的大部分時間都在攻克新功能,主要會涉及到幾個方向,例如過去的數據庫通常的交易支付功能都是OITP業務,如今OB正在嘗試加入一些更加複雜的查詢,這種嘗試類似於Oracle、DB2等,這種複雜可以做到既可以支持OITP,又能支持OIAT這樣的數據庫。

具體來說這種嘗試區別於Oracle主要在於OB數據庫在OITP方面的指標較高,OIAP則是在同一個引擎中部署做到(通常都是分開的兩個引擎),這其中就會涉及到很多,例如較爲複雜的查詢處理、優化器、存儲引擎的能力提升以及分佈式能力的挖掘等方面。此外就是基於Oracle功能的研發拓展以及配套工具、產品、生態的統一構建,例如基礎的管控平臺,用於數據遷移的工具,此外就是雙十一的備戰投入,也是十分關鍵的事情。

反觀過去,我們都知道互聯網底層存儲軟件一般都來自國外,比方說Oracle、Mysql、Postgresql、Microsoft SQL Server等;相比之下國內自主研發的關係型數據庫的企業單位基本都發源於上世紀90年代左右,而且以高校、科研院所爲主,整個局面直到OceanBase出現才稍有改觀。有資料顯示,官方將OB數據庫直接定義爲完全自主研發的金融級分佈式關係數據庫。一路走來OceanBase爲什麼能夠成功?晶少覺得它區別於傳統數據庫的特性或許是揭開疑問的關鍵所在。

從數據庫的性質入手,因爲實際原因國產數據庫很難在集中式這樣的道路上表現極致,所以OB選擇了一條不同的道路,採用分佈式來奮起直追。這一點主要歸功於軟件層面實現的容錯機制讓開發不需要再買很貴的硬件來支撐需求,如此一來成本下降不說,系統處理能力還得到了顯著提升。

具體來說之前的數據庫基本都爲集中式架構,或者是無法達成大規模線性可擴展的分佈式架構,主要原因在於數據庫需要時刻保持全局一致性。對此晶少理解爲數據庫本身就會涉及到一個事務的概念,如果事務想要達成可串行化就意味着所有的機器都要達成統一目標,不單單是加入機器那麼簡單。“這就是OceanBase軟件層面做的一個最重要的工作,做到不管是一臺機器的很多的核還是很多機器的很多核,最後都做到線性可擴展。”

此外還有比較麻煩的一點就是全局的快照。據晶少了解,OB在2017年還是局部化的事務控制,只有在2017年之後的版本慢慢有全局的事務版本號,所有的讀取跟寫錄都需要到統一位置拿到全局ID,解決的是多臺機器之間的讀取來保證全局的快照。“儘管我們整體的TBCC性能已經取得了很大的成就,但並不是單機範圍都已經達到了這個高度,完成此項目標還需要大量時間,但集合在一起所顯示出的高擴展能力還十分值得稱道的。”

更重要的是,OceanBase相比很多國內數據庫廠商還有一個比較大的優勢在於阿里巴巴具備很大的業務場景,例如雙十一來進行性能穩定性的實戰提升,可謂自己的業務才能夠給數據庫試錯的機會。以雙十一爲例,其高峯期的併發需求量可謂全球領先。另外,阿里巴巴的業務範圍特別廣,例如支付寶、淘寶,菜鳥等各種類型,能想到的互聯網與新零售等相關的業務都需要用數據庫而且要求也比較高,這是OceanBase一個顯而易見的優勢。

“這是我們OceanBase的一個技術定位,我們認爲目前來看集中式數據庫在功能優化方面已經做到很極致,但沒有解決的問題在於數據量,所以如果用一句話來總結,OB可以被稱爲透明可擴展的企業級數據庫,希望這種可擴展性質慢慢也會支持其他一些行業。”

面對國際事務處理性能委員會(TPC,Transaction Processing Performance Council)官網發佈的最新測試結果,即中國螞蟻金服自主研發的金融級分佈式關係數據庫OceanBase成爲首個登頂該榜單的中國數據庫產品的消息,各界不是沒有疑問,似乎是對質疑的一種迴應,阿里雲隨之推出國內首個雲端數據庫測試平臺,直接在阿里雲上提供與OceanBase打榜時完全一致的雲資源環境。同時表示,全球任意數據庫廠商均可申請報名,以雲端跑分這樣的硬核方式與其他數據庫一較高下。

對此OB技術人員認爲,雲端測試會是一種可預見的趨勢。因爲雲端測試可以大大將測試成本降低下來。與之前不同,在雲端測試特別簡單,雲端測試公有云的機器價格都是確定的,買一個機器的價格都確定好了,所以雲端測試今後會是一種風潮。“同時,我覺得分佈式的未來前景肯定會越來越好,主要數據量會越來越大,隨之用戶對數據庫的併發也會比以前要求越來越高,會有一些新的場景出現。”

回到2010年雙11期間,支付寶經歷了最緊張的時刻,即距離系統崩潰只剩4秒。“驚魂4秒”之後,支付寶技術團隊開始意識到,雙11的交易量指數級增長,如果按照老的技術來運行,很難支撐支付洪峯,即使能支撐,成本也將是天文數字。況且天貓雙11帶來的都是世界範圍內還從未遇到過的技術難題,只有實現核心技術自主研發,才能掌握創新的主動權。至此支付寶自主研發的金融級分佈式關係數據庫OceanBase應運而生。

OB 就像它的名字一樣,是個“海量”數據庫。用戶在使用支付寶時產生的所有數據、以及對數據的處理都存放其上;它又被稱爲“超級會計師”,可以在一秒內同時記數萬筆帳,是確保雙11支付不卡殼,系統不崩潰的基礎設施。就在2014年支付寶開啓去IOE征程,阿里巴巴大膽嘗試將10%的交易支付通過OceanBase完成。這些年來,如果說天貓雙11是商家比拼新零售的年度“奧運會”,那麼對支付寶來說就是檢驗OB處理能力的“閱兵場”。

回顧OB參加的歷年雙十一,我們可以一一感受到,2014年雙11,OceanBase僅處理10%的交易數據鏈;2015年雙11,OceanBase處理100%交易數據鏈和50%支付數據鏈;2016年雙11,全部交易數據鏈和支付數據鏈以及30%花唄賬務運行在OceanBase上;2017年雙11,包括整個賬務庫在內的全部核心系統都100%運行在OceanBase上。

今年天貓雙11當天,OceanBase數據庫再次刷新數據庫處理峯值,達6100萬次/秒,創造了新的世界紀錄,未來OB劍指何方,我們還將拭目以待。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章