DTCC 回顧:技術破局,分散式資料庫創贏未來

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

2020 年 12 月 21 日第十一屆中國資料庫技術大會(DTCC 2020)於北京召開,螞蟻集團 OceanBase 資深總監、北京奧星貝斯科技研發中心總經理楊傳輝,帶來了《OceanBase 原生分散式資料庫》的主題分享,以下為演講實錄:

技術破局:分散式資料庫創贏未來

2010年,立項伊始,OceanBase 就堅信分散式資料庫代表未來,作為原生分散式資料庫的實踐者、信仰者,歷經十年的艱難探索,已成長為全球原生分散式資料庫的技術引領者。


今天的資料庫形態仍以集中資料庫為主,隨著資料量不斷增大,AI、IOT、5G 技術快速革新發展,這個比例一定會倒置,集中資料庫為輔,分散式資料庫成為主流。


聽起來似乎匪夷所思,但螞蟻集團的實戰案例告訴我們,這並非天方夜譚。


2014年,螞蟻集團支付寶核心資料庫接入 OceanBase 時,實現了 RPO 等於 0,引入這項技術初期,所有 DBA 和業務方並不理解,都認為我們做的資料庫沒有需求,沒有 RPO 等於 0 的需求。因為以前所有的資料庫都做不到 RPO 等於 0。但是,等 OceanBase 真正實現了 RPO 等於 0,並且在雙十一核心場景得到驗證的時候,獲得了集團上下的高度認可,OceanBase 技術也很快塑造了阿里、螞蟻以及整個資料庫行業的一項新標準。


相信 OceanBase 其他的分散式技術創新,也會同 RPO 等於 0 的創新一樣,只要在行業標杆客戶中得到應用,便會快速推進到行業,進而普及到整個業界。尋其本質,是因為分散式技術作為雲時代的技術,指引未來,可以享受到高可用、可擴充套件、低成本、高效能等技術紅利,能夠無縫 相容傳統的資料庫。從 0 到 1 很難,但只要突破某個臨界點,從 1 到 N、 10 到 N 其實比想象的快很多,這是從歷史中得出的經驗。

獨闢蹊徑:100%自主研發之路

與國內其他分散式資料庫不同,OceanBase 一直堅持做 100% 自主研發原生分散式資料庫。選擇自主研發,並非我們預見到今天的國產化需求,而是相信只有 100% 自主研發,才能解決原生分散式企業級資料庫的根本需求。


做資料庫有兩條道路, 一是基於開源資料庫做二次開發,初始成本較低,可以快速做出可用的資料庫,但這樣的資料庫不通用,僅在某些場景可用,且把複雜性留給業務。


二是做真正的原生分散式資料庫 ,道路漫漫且艱難,OceanBase 走了10年,才取得今日的小成績。基於自研,另一裨益,就是鍛鍊了研發團隊, OceanBase 平均研齡超過6.5歲,可以快速滿足使用者需求,深層次問題解決能力在業界領先。


2010年開始,OceanBase 在阿里、螞蟻場景落地;2010-2014年期間,在阿里電商平臺上線了幾百個業務;2014-2017年,在螞蟻集團全面上線交易和賬務系統,成為螞蟻集團最核心的資料庫。


阿里集團是全國乃至全球資料業務場景最豐富、訂單量最大的一個場景,這個場景異常難得,催生了諸多資料庫專案的創新。而阿里和螞蟻選擇 OceanBase,也恰恰因為 OceanBase 透過創新分散式技術解決了 RPO 的問題,真正做到RPO 等於 0 ,這個特性對金融行業和資料庫行業有著里程碑式的意義。


2017年,OceanBase 走出阿里,服務外部客戶。2019年,OceanBase 在 TPC-C 效能測試以 6088 萬 tpmC 的成績登頂榜首,在九年多一直被國外資料庫產品佔據的榜單上留下了中國資料庫的印記。在 2020 年,OceanBase 又以 7.07 億 tpmC 的成績再次超越自我登頂榜首。2020 年 6 月份,螞蟻集團正式宣佈 OceanBase 進行獨立公司化運作,開始在商業化道路上加速奔跑。


回溯過往十年多時間的發展,OceanBase 團隊成員遵循初心,始終堅持以業務為驅動、以技術創新為宗旨的完全自研之路。

以簡馭繁:分散式理念制勝之道

現在市場上有很多分庫分表的資料庫也被稱為分散式資料庫,那麼,原生分散式資料庫和分庫分表資料庫到底有何不同?


OceanBase 最大的不同是詮釋了原生分散式的理念——把複雜留給自己,把簡單留給業務、開發者和 運維人員


集中資料庫的確好用,但有兩大問題,一是成本比較高,依賴高可靠硬體,無法按需擴充套件容量。網際網路簡單常規的做法,是基於開源資料庫做分庫分表,雖部分解決了擴充套件問題,但卻帶來一致性問題,一致性導致運維複雜性,把運維的複雜性帶給開發人員。在傳統行業中,IT 能力並非核心競爭力,這些行業希望能用更簡單的技術,把複雜留給基礎設施。


螞蟻集團有上萬臺伺服器,如果不用原生分散式資料庫 OceanBase,而是使用分庫分表方案,只要其中一臺機器出現故障,就無法保證一致性,需要透過各種運維平臺、運維工具或者是讓 DBA 直接處理,這是一個不可持續的方式。


OceanBase 的理念是原生分散式資料庫,底層透過分散式技術實現 RPO 等於0,上層以 SQL 的方式提供給客戶,保證完整的 ACID。


OceanBase 兩度參加 TPC-C 測試,都取得不俗的成績,跑  TPC-C 測試最大的意義不是跑出多高的效能,而是證明了一點—— 基於分散式架構的技術能夠實現跟集中式資料庫完全對標的ACID 能 力,能夠做到和集中式資料庫一樣的功能 。這其實證明的是一個不可逆的大趨勢,那就是未來分散式資料庫必然會超越代集中式資料庫。

     從內部打磨到外部使用

做資料庫有一個難點,即資料庫穩定性問題。資料庫是系統工程,意味著程式碼量特別大,會存在很多 BUG。資料庫可以透過測試來解決資料庫 BUG,但是這樣遠遠不夠,還需要核心應用場景的檢驗。


OceanBase 背靠螞蟻集團,立足於雙十一大促場景,能夠享受到螞蟻集團技術發展的紅利,經過數年的打磨已經應用在螞蟻集團會員、交易、賬戶、網商銀行等核心業務中100%的流量。螞蟻集團往往會出於支援 OceanBase 甘願當小白鼠,在集團內部儘早使用,將所有的坑踩一遍,團隊快速版本迭代,打磨核心功能,保證穩定性。


經過2年多時間的孕育,目前OceanBase 收穫了諸多關鍵客戶。在今年9月,OceanBase 在工商銀行對公理財業務系統上線,挑戰巨大,使用到了 OceanBase 兩地三中心的高可用容災能力。此外,OceanBase 已經在建設銀行、南京銀行、人保健康險、西安銀行、天津銀行、蘇州銀行、東莞銀行、常熟農商行、廣東農信、中國人保、招商證券、中石化、深圳公積金、山東移動、浙江移動等眾多行業機構上線。

    三維一體:企業級架構設計

OceanBase 的定位是做一款通用的企業級分散式資料庫。分散式資料庫是透明可擴充套件的,服務的場景多種多樣,包括傳統企業,如金融、政府、運營商、公共事業、電力、能源等關係到國計民生的行業。這樣的行業對資料庫的要求,首先是穩定可靠;其次才是高效能、高可控、自主創新等。


OceanBase 和技術關鍵點主要有3個: 一是原生分散式技術,透過高可用、透明、先進性等,讓更多企業能夠享受到分散式的技術紅利。 二是企業級資料庫,作為服務企業場景的資料庫,OceanBase 的底層引擎能夠同時支援簡單查詢和複雜查詢混合的引擎。 三是面向雲時代創新,OceanBase 做企業級雲原生資料庫,支援更多混合負載的場景,提供更好的擴充套件性。


OceanBase 的產品理念是一體化的設計,提供 Oracle 和 MySQL 兩種相容模式。同時,一套 HTAP 引擎同時支援 TP 和 AP 業務。採用的是透明可擴充套件的分散式架構,原生支援分散式事務,全域性強一致,讓使用者使用簡單。基於Paxos + 資料同步的靈活的容災架構,支援最高階別容災模式。同時具備靈活的部署模式,無縫適配雲化架構和經典架構。


2020年9月雲棲大會上, OceanBase 2.2版本正式釋出。 2.2版本的重要革新在於其相容能力:提升語法和行為相容及資料安全功能,並最佳化混合負載引擎,並進一步提升靈活性,能夠支援多種容災模式。同時,OceanBase 積極擁抱產業生態,目前已經與更多主流晶片/作業系統完成適配。


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

相關文章