數據庫

雙11、TPC-C?OceanBase的征程在哪里?

廣告
廣告

螞蟻金服自研的分布式關系數據庫OceanBase登頂TPC-C一個月后,便迎來了2019年雙11大考,團隊相信“TPC-C只是雙11的虛擬預演,雙11才是一次真實場景的TPC-C。”OceanBase在雙11期間數據處理峰值達6100萬次/秒,超過了TPC-C測試中的6088萬次/秒的峰值,在實戰中再次證明了自己。

臺上十分鐘,臺下十年功。從2010年立項開始,OceanBase便伴隨著阿里的業務以及雙11的磨練成長,“數據庫的數據不能出錯,可是軟件哪能沒有BUG呢?所以一個做實時交易處理的數據庫系統不只是研發出來的,更是用出來的。”OceanBase創始人陽振坤說。

“OceanBase是用出來的”

技術與商業相互成就。2009年,阿里巴巴集團首席架構師王堅提出“去IOE”,即擺脫業務系統對IBM小型機、Oracle數據庫以及EMC存儲的過度依賴。彼時,阿里巴巴舉全公司之力投入到云計算的研發和使用中;2010年,在陽振坤帶領下啟動了OceanBase分布式關系數據庫項目。

技術的發展要有業務的實戰練兵場,不過即便是阿里巴巴有海量的業務場景,OceanBase一開始也只能在“邊緣”的業務探索實踐。2011年,OceanBase首次參與了雙11,支持淘寶收藏夾業務。但是在隨后的兩年多時間一直沒能走進阿里或者支付寶核心業務場景里,團隊甚至隨時面臨解散的風險。

“我們算是天時地利人和都趕上,(做OceanBase)這件事情除非是被拍死掉,否則我們是肯定要把它做成的。”陽振坤在一篇文章中回憶當時做OceanBase的決心。

2014年,OceanBase迎來了重大轉機,螞蟻金服CTO魯肅決定在當年的雙11切10%的交易流量到OceanBase。彼時正值移動互聯網爆發階段,阿里巴巴的業務飛速發展,按照當時的業務量做全鏈路壓測時Oracle數據庫出現了抖動,“幾分鐘就要壞一個盤”,切到10%的流量才勉強扛住。那年雙11最終把10%的交易流量切到了OceanBase,“Oracle也幫了我們(OceanBase)一把。”陽振坤感慨道。

數據庫在交易業務里有了實踐與驗證后就有了能力的背書,之后的發展相對順利。在2015年雙11中,螞蟻金服100%的交易流量和50%的支付流量遷移到OceanBase;2016年100%的交易流量、支付流量以及30%的花唄流量遷移到OceanBase;2017年螞蟻金服所有的核心業務都遷移到了OceanBase,并在當年的雙11創造了4200萬次/秒數據處理峰值的世界紀錄;在剛剛結束的2019雙11中,OceanBase再次創造了6100萬筆/秒數處理峰值的全新紀錄。

OceanBase以低于傳統數據庫的成本、高性能,支持支付寶雙11一次次的數據處理峰值紀錄。在2016年5月,OceanBase核心團隊成員獲得了螞蟻金服內部最高榮譽CEO大獎,戴上了“土豪金” 工牌帶。同時,從 2016 年開始,團隊著手將經過雙11檢驗的OceanBase 對外輸出,并于2017年正式對外商用。

目前,OceanBase除了支持螞蟻金服自有業務、阿里巴巴集團雙十一的流量考驗以外,還支持著數十家商業銀行、金融機構的業務。

從技術路線再談OceanBase打榜TPC-C

OceanBase是分布式關系數據庫,陽振坤介紹外界對OceanBase分布式系統可以滿足交易處理一直存有質疑,這也是團隊進行TPC-C測試的原因。

交易處理最重要的是能夠滿足事務的ACID特性,即原子性、一致性、隔離性、持久性,而這是集中式系統固有的優勢,另一方面在線交易處理系統需要高可用性、高可靠性。而分布式系統在可靠性方面有天然缺陷,多臺機器放在一起時其整體可靠性會指數級下降。這兩個原因使得數據庫經過半個多世紀發展,做交易處理一直都是集中式系統。

但是集中式系統也有“先天”的短板——擴展性差。螞蟻金服研究員韓鴻源介紹,原來傳統企業里不管是自己內部業務系統,還是對客前端柜臺做業務系統,接入的終端數量都非常有限。基本上可以通過數據庫服務器的垂直擴展滿足業務需求。而隨著互聯網、移動互聯網發展,海量的交易、數據使得傳統集中式系統無法通過垂直擴展有效支撐客戶訪問請求。

OceanBase在一開始的時候就設定了兩個重要的目標:一是系統能夠水平擴展;二是即便使用普通硬件系統也必須高可用、高可靠。分布式系統具有很高的水平擴展性能,2014年到2016年間有OceanBase團隊中有40多人All in OceanBase 1.0研發,主攻分布式事務難點。

后來,OceanBase在分布式數據庫中實現了Paxos協議,將原來每一個物理節點換成一個Paxos組,相當于換成一個虛擬節點,這個虛擬節點背后有三/五個物理節點。根據多數派成功協議,三/五個節點里有兩/三個節點寫成功這個事務就被判定為成功,這樣允許少數庫故障而不丟失數據,解決了OceanBase分布式事務難點,實現了高可用與高可靠。

TPC-C作為一個OLTP聯機交易處理系統的benchmark是世界最權威的測試基準,這些年TPC的benchmark也不斷修訂迭代,一方面適應業務的需求,另一方面跟上軟、硬件的變化。“即使放在今天來看,不管是金融、交通、通訊等,它還是一個非常普遍適用的場景。”陽振坤強調。

打榜TPC-C證明了OceanBase分布式數據庫完全具備接管核心的業務系統的能力。在雙11中磨練成長,從TPC-C處證明了自己的能力,但是數據庫作為最難遷移的軟件技術之一,OceanBase的未來更多還是要實踐中檢驗。

OceanBase的征程在哪里?

全球數據庫市場空間巨大,根據Gartner的數據,2018年全球關系型數據庫全球市場達到375億美元,仍然以10%的速度增長,Oracle占據著較大比例。

今天,關系數據庫在全球范圍內的格局非常穩定,但海量數據高并發的挑戰,以及云計算等新技術得發展為OceanBase等分布式數據庫帶來了新的機會,而且國內基礎軟件領域大勢所趨——去“Oracle”熱情高漲。

OceanBase在設計之初便不限于阿里內部而定位為一個通用數據庫。螞蟻金服最新發布得OceanBase 2.2版,內置MySQL以及Oracle兩種模式,并在Oracle模式中引入了諸多功能,性能和穩定性上也相對2.0版本有大幅提升。比如,OLTP性能相比2.0版提升50%以上,部分復雜場景提升100%。

OceanBase 2.2版也被稱為新一代HTAP數據庫,OLTP與OLAP的融合已經成為數據庫的一大發展趨勢,原來OLTP由交易數據庫來做,商業智能分析由數據倉庫來處理。陽振坤介紹兩個系統分開有較明顯的缺點。

首先,數據倉庫本身沒有數據,需要架一個橋梁把數據從交易數據庫通過ETL抽取、轉換然后加載到數據倉庫,并不是實時的。其次,交易數據庫分庫分表后也帶來了很多挑戰,比如訂單號需要全局唯一,在業務擴容、業務縮容時需要做很多改動。第三是數據倉庫本身天然面向主題,需要建多個數據倉庫,盡管可以把相近的主題合并在一起,但這并不能改變數據倉庫面向主題的本質,會造成大量的數據冗余。

“我們這個(TPC-C)測試更大的價值不在于OLTP,更重要的是想證明這個數據庫既能夠做交易,也能做智能場景分析。”陽振坤認為。OceanBase 2.2版本OLAP場景查詢優化和執行能力顯著提升,TPC-H全部22個查詢,SF=1000(1TB)的數據量下,6臺ECS(56超線程) Server總執行時間為730s。

據悉,兼容Oracle 的工作是 OceanBase 團隊此前的重心。OceanBase 團隊的目標是,用兩年時間做到 Oracle 業務的平滑遷移,不需要修改一行代碼、不需要業務做任何調整就能夠將數據庫遷移過來。

就如同OceanBase的名字一樣,“海量”的數據庫,OceanBase的征程也將是那個更廣袤的關系型數據庫市場。

很多人都知道螞蟻金服有個傳統項目是拜關公,“我們拜關公,不是我們迷信,更多的是表達我們對不可預知的一種敬畏。”未來的戰場有很多不可預知,也有很多事等著OceanBase去探索,比如構建完善自身生態,將阿里內部的實踐經驗如何有效對外復用輸出,如何處理企業客戶原有IT資產等。

借用網友對OceanBase的評價作結:莫問前程,但行好事。孰好孰劣,市場和客戶會給出答案。

我還沒有學會寫個人說明!

Udemy:人工智能是2020年職場最需要的技能之一

上一篇

數據庫之互聯網常用架構方案一覽

下一篇

你也可能喜歡

雙11、TPC-C?OceanBase的征程在哪里?

長按儲存圖像,分享給朋友

ITPUB 每周精要將以郵件的形式發放至您的郵箱


微信掃一掃

微信掃一掃
双色球常规走势图 南宁专业股票配资 金斧子配资 东京热av下载 青海11选5 牛8配资 电子体育比分屏 福建11选5 股票融资融券 翻翻配配资 即时比分足球雷速体育比分 浙江快乐12 黑龙江十一选五