天天看點

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

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

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

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

2020 資料技術嘉年華上,北京奧星貝斯科技有限公司 CTO、OceanBase 資料庫創始人陽振坤,接受了企業網的專訪。他對 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 資料庫,向客戶提供更專業服務。