專訪 OceanBase 資料庫創始人陽振坤: 資料驅動業務發展 共建資料技術未來

OceanBase資料庫發表於2021-01-07

2020年11月20日,第十屆資料技術嘉年華在北京盛大開啟。 大會現場,北京奧星貝斯科技有限公司CTO、OceanBase資料庫創始人陽振坤接受了企業網D1Net的採訪。本文來自『企業網D1Net』的專訪報導。


隨著網際網路的爆發式增長,資料庫作為 IT資訊產業最重要最核心的部分,迎來了成長和發展的絕佳時機。如何把握機遇,迎接海量資料、通用高效能的挑戰?國產自研分散式資料庫 OceanBase,在國家內迴圈、新基建政策的引導下,發揮著強大的中國製造的技術魅力。


在網際網路爆炸式增長對海量業務中資料庫高併發、高效能的嚴苛要求下,資料庫領域的標杆 OceanBase,以其高效能、可擴充套件、高可用以及低成本等特點,特別是阿里集團內部包含網商銀行、支付寶等航母量級的資料庫場景應用的成熟經驗,保障了業務連續、穩定、高效運轉,為使用者創造更大價值。

 


2020 資料技術嘉年華上,北京奧星貝斯科技有限公司 CTO、OceanBase 資料庫創始人陽振坤,接受了企業網的專訪。他對 OceanBase 的發展歷史進行了總結和回顧,全面詮釋了資料庫技術的發展歷程,同時作為前沿的技術專家,也對未來資料庫系統的發展趨勢做了預測和展望。

 

北京奧星貝斯科技 CTO、OceanBase 資料庫創始人陽振坤

 

資料庫從誕生至今已有幾十年的時間,但是市場格局變化不大,最早發展起來的資料庫廠商長期佔據著統治地位。由於資料庫處在整個 IT 產業鏈最基礎的位置,替換風險很大,但收益相比起來卻小得多,因此非常難被替換。這也是為什麼像 IBM、微軟這樣的後來者也難以取代 Oracle。這就導致了資料庫變成一個門檻極高、強者恆強的領域。


然而,時代的發展往往會打破慣例。網際網路的爆發式增長對資料庫的高併發、大資料量提出了很高的要求,而傳統關係型資料庫難以滿足,這就給 OceanBase 的問世創造了“天時”基礎。加之阿里巴巴內部從淘寶到支付寶擁有大量使用資料庫的場景,OceanBase 可以從不是特別關鍵的應用場景開始嘗試,一步步地將資料庫做到關鍵系統,這也是絕大多數網際網路企業可以做資料庫的優勢——自帶場景的“地利”條件。最後便是以陽振坤為代表的具備分散式技術背景的團隊,在當時單機資料庫已經走到盡頭的情況下,以“人和”之勢定下了走向分散式的路線。


就這樣,打破傳統資料庫一統天下格局的 OceanBase 在一個千載難逢的機遇下應運而生,讓國產自研關係型資料庫嶄露頭角並推廣使用,不斷推動國產資料庫技術快速發展和走向成熟。目前,OceanBase 已經在數十家商業銀行上線執行。在簡要回顧 OceanBase 十年的成長路時,陽振坤的自豪之情溢於言表。


其實在 OceanBase 立項之初時,關於“分散式”曾有一番熱烈的討論。隨著業務的高速發展,海量資料激增,資料庫面臨著巨大的挑戰和困境。大家常見的解決方法是拆庫做分庫分表,就是將原來一個資料庫,根據業務的不同拆分成多個資料庫,一個資料庫放一個表,後期如果業務處理不了,再將一張表拆分成多個分表。要是業務量小,尚可滿足業務需求,但是隨著拆分到上千甚至上萬個分表,這個事情就變得極其複雜且解決起來異常困難。因為每天每一個表都會進行無數次變更,這些變更需要做在所有的分片上,只要一個分片異常就需要回滾,就有機率出現回滾不成功,從而導致資料丟失或影響業務的連續性,給企業帶來的損失將是不可彌補甚至不堪設想的。


能從根源上解決資料庫發展的問題,最完善的解決方案是真正的分散式資料庫。分庫分表只能稱為分散式系統,是分散式資料庫嗎?陽振坤笑了笑,“打個問號吧!”很多人都清楚事務的 ACID 特性,知道事務要滿足原子性、一致性、隔離性和永續性,這是從資料庫本身的角度來看。有人混淆分散式資料庫的概念,把分庫分表也叫分散式,但其實它不是分散式資料庫,因為它是多個資料庫而不是一個資料庫。分庫分表方案雖然可以解決一些問題,但也帶來更多的挑戰,更大的複雜性和更高的成本。


正因為如此, 陽振坤的團隊毅然決然地選擇了最難走的一條路——做一款原生分散式關聯式資料庫。這需要所有程式碼一行一行自己寫,沒有任何一行別人的程式碼,沒有任何其他人的東西。另外,除了要滿足事務和資料庫裡面的各種約束、各種一致性,還包含分散式事務處理、效能和響應時間,而最困難的是故障恢復,因為分散式環境下出故障是必然的,且故障率會隨著節點的增加呈指數級增加。再有就是整個效能的穩定和分散式上的最佳化,單機上的最佳化器已經很難了,分散式最佳化器,尤其是做整個事務處理的最佳化器,挑戰要大得多得多。回憶起 OceanBase 從初生到成長的過程,以及團隊所攻克的一個又一個難關,陽振坤不禁感慨良多。


解決了從資料庫本身的角度來做一款真正意義上的分散式資料庫後,從業務的角度,客戶對資料庫其實有更高的要求。 第一個要求是資料不能錯,第二個要求是服務不能停,第三個要求是事務高併發處理能力。陽振坤補充道,全世界有非常多的資料庫廠商,近年來也進入了國產資料庫的繁榮時期,但是能真正把業務角度客戶關注的這三點做到,並在實際生產中全面應用的其實少之又少。如今,OceanBase 已經可以做到水平擴充套件,不需要重新拆分業務,就可以在主庫做交易處理,在備庫做資料分析處理,甚至在未來可以在主庫上同時完成交易和分析的處理。這一技術上的革新很好地克服了分庫分表方案的弊端。陽振坤介紹道,OceanBase 跟分庫分表最根本的區別在於分庫分表是多個庫,而原生分散式是不管有多少臺機器仍是一個資料庫。使用者可以像使用一個傳統商業資料庫一樣來使用它,這就很自然地應對了站在業務角度客戶所關注的三方面要求。


資料庫的成長髮展離不開業務的打磨。OceanBase 今天有數以萬計的伺服器,晝夜執行在支付寶整個系統裡,它從邊緣系統到次重要系統最後引用到核心系統,一步步經過應用實踐檢驗發展過來。OceanBase 在多年前就成功實現異地多活跨城應用,陽振坤分享道:OceanBase 異地的多活,跨幾個城市的多活,具有很成熟的實踐基礎,因為支付寶的業務早就是國際型了。到目前為止,這個實際場景所帶來的技術實現依然具有實踐意義和參考價值,技術也是非常領先的。


如今的海量資料處理系統,不論是大資料系統還是資料倉儲,都是分散式——原生分散式。再回過頭來看關係型資料庫,尤其是 OLTP 資料庫,目前仍然是以單機/集中式為主。不是 OLTP 資料庫不需要做分散式,而是分散式的OLTP資料庫的研發異常艱難。但如同汽車終將代替馬車:回想起150多年前,汽車剛剛被發明時,馬車還是最主流的交通工具,當時在馬路上優先通行的是馬車,汽車也沒有生態。而到了2020年的今天,作為主流交通工具的馬車早已成為遠古的過去,汽車早就成為了不可逆轉的主流。 所以,OceanBase 正在撰寫資料庫的現在,創造資料庫的未來,值得期待。


關於 OceanBase 資料庫

  • 2010年,OceanBase 專案立項。
  • 2011年,淘寶收藏夾上線。
  • 2014年,支付寶交易庫上線。
  • 2015年,網商銀行成立,OceanBase 成為全球首個應用在金融核心業務系統的分散式關聯式資料庫。
  • 2016年,OceanBase 1.0版本在支付寶賬務系統上線,支撐12萬筆/秒支付峰值。
  • 2017年,支付寶首次把賬務庫在內的所有核心資料鏈路全部遷移到 OceanBase 上,創造4200萬筆/秒資料庫處理峰值紀錄。
  • 2017年,OceanBase 走出阿里對外商用,先後在南京銀行等多家商業銀行落地。
  • 2019年,OceanBase 參加國際標準的資料庫 TPC-C 基準效能測試,以6088萬 tpmC 登頂 TPC-C 效能榜。
  • 2020年,OceanBase 再次登頂 TPC-C 測試效能榜首,並創造了7.07億 tpmC 的新紀錄。
  • 2020年,OceanBase 公司成立,以專注發展 OceanBase 資料庫,向客戶提供更專業服務。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69909943/viewspace-2748296/,如需轉載,請註明出處,否則將追究法律責任。

相關文章