天天看點

“征戰”國内企業市場數十年,資料庫已經走到分布式叉口

剛剛過去的 2020,對螞蟻自研資料庫産品 OceanBase 是一個豐收年。

先是在五月,資料庫領域最權威的國際機構國際事務處理性能委員會 TPC 在官網發表了最新的 TPC-C 基準測試結果, OceanBase 以 7.07 億 tpmC 的線上事務處理性能,打破了自己在 2019 年創造的世界紀錄,在國内資料庫領域可以說是賺足了眼球。

“征戰”國内企業市場數十年,資料庫已經走到分布式叉口

一個月後,螞蟻集團宣布,将自研資料庫産品 OceanBase 獨立進行公司化運作,成立由螞蟻 100% 控股的資料庫公司—北京奧星貝斯科技有限公司,并由螞蟻集團 CEO 胡曉明親自擔任董事長。

工商銀行,中石化,太平保險,招商證券,廣東順德農商行,浙江移動,山東移動,福建移動,吉林省大資料局,深圳公積金……去年 6 月,OceanBase 獨立公司化運作以來,在短短半年時間,已經拿下數十個标杆客戶。

OceanBase 為何選擇獨立營運?這半年多來,市場對這個資料庫領域的“新兵”有什麼反應?近期,InfoQ 采訪了 OceanBase 市場部總經理劉昕,希望能夠以一種全新的視角來呈現最全面的 OceanBase。

認認真真做資料庫

OceanBase 是認認真真在做資料庫,不是為了資本炒作的概念,而是真正當成一門生意來做,對客戶如此,對内部也是如此。

資料庫屬于基礎設施建設部分,是基礎軟體中的剛需但又很容易被卡脖子的技術。在 2020 年 6 月科技日報釋出了制約我國工業發展的 35 項技術,資料庫管理系統即名列其中。

在過去,螞蟻甚至是阿裡都遇到過資料庫被卡脖子的痛苦。以淘寶、天貓和支付寶等為代表的網際網路業務使得關系資料庫的并發通路由幾百、幾千陡增到百萬、千萬,資料量的增長也同步加重了資料庫的性能負荷,來自于容量和成本的挑戰遠遠高于傳統業務場景,而傳統關系資料庫因為水準擴充能力的缺失以及高昂價格,讓業務發展和産品疊代無以為繼,隻能進行自研,這正是 OceanBase 誕生的背景。

從 2011 年承擔淘寶收藏夾這一小功能開始,到成功替代 Oracle 在支付寶交易系統上線,支撐起 12 萬筆每秒的交易峰值,2015 年 OceanBase 成為全球首個應用在金融核心業務系統中的分布式關系資料庫,2017 年支付寶首次将賬務庫在内的所有核心資料鍊搬到 OceanBase 上,創造了 4200 萬次 / 秒的資料庫處理峰值全新記錄,再到 2019 和 2020 兩次登頂 TPC-C 榜首,OceanBase 走過了艱難但輝煌的旅程,不僅支援了業務發展,也在世界面前證明了自己。

“征戰”國内企業市場數十年,資料庫已經走到分布式叉口

不過,作為此前曾服務于淘寶、天貓和支付寶等業務的資料庫,大量内部業務不僅彰顯了 OceanBase 的價值,更使得它得到了大量的生産考驗,極大地促進了 OceanBase 的穩定和成熟。但是,要想進一步受到外界認可為通用資料庫,這就需要一個更複雜多變、更龐大的商業場景來進一步曆練。而這個因素,就是市場。

讓 OceanBase 蛻變為一個有能力服務全行業、服務全社會的通用關系資料庫,螞蟻集團責無旁貸,獨立營運,刻不容緩。

生态:面對客戶的第一道難題

當 OceanBase 從對内服務的技術變為對外提供服務的角色時,被挑戰的第一個問題就是生态。

OceanBase 團隊對自己的資料庫非常自信,但來自于客戶的一個質疑,卻成為了團隊需要面對的第一道坎。

“我承認 OceanBase 這款資料庫很厲害,網際網路上最大的交易流量都是在 OceanBase 上跑的。不過這不像 Oracle、MySQL,最初公司裡沒有人會用啊。”

是的,擺在獨立營運的 OceanBase 面前,最緊急的就是生态問題,一款産品再好,也需要有人會用。畢竟使用資料庫的是一線技術人員,沒有這些使用者,又何來規模化可言。

這是一個非常現實的問題,由于獨立營運之前 OceanBase 一直是在為内部提供服務,沒有對外開放就難以與外部行業産生技術共鳴,更不要提相關的技術人才。

“為此,OceanBase 投入了巨大的力量在生态層面。”劉昕解釋說,OceanBase 的生态分為商業生态、人才生态、開發者生态以及産業鍊生态這 4 個層面。

産業鍊生态層面,具體是指行業規範與産業标準,OceanBase 通過與工信部權威機構共同建立分布式資料庫的行業标準等方式,來減少上下遊能力在資料适配層面上的門檻,引導行業發展的方向。

  • 商業生态層面,商業資料庫與開源資料庫不同,其要為公司增長負責,是以需要深入到各行各業的真實場景中,形成與各開發商的聯合解決方案,這對于完善商業生态來說是重中之重。因為資料庫本身是一個被內建的軟體,對于企業而言,應用系統背後的資料庫是無形的且和業務深度關聯的産品,是以資料庫需要和應用開發商深度合作以完成聯合解決方案,并切實能夠解決問題。
  • 人才生态層面,目前 OceanBase 計劃在三年内培養五萬名分布式資料庫的人才,去年 9 月份推出 OceanBase 初級工程師認證,短短兩個月時間就有數千人通過了認證。另外長期來看,OceanBase 和華東師範大學、複旦大學、浙江大學、武漢大學等高校都有學研合作,從學生中培養分布式資料庫的人才。這種需要花費大量精力以及長期合作的形式,恰恰印證了 OceanBase 對于分布式是未來發展方向的信心。
  • 開發者生态層面,目前 OceanBase 已經對外推出了 OceanBase 開發者版本,開發者可以免費拿到與商業版相似、在筆記本上就可以實作的資料庫工具。現在因為疫情的反複,OceanBase 投入了非常多的精力在視訊、直播、課程等線上形式,以求盡可能快速觸達到廣泛的開發者群體。

随後劉昕坦言,OceanBase 成立公司獨立營運後,公司内部最大的變化一個是在生态方面強有力的發展,另一個則是公司技術團隊的工作習慣變化。

在團隊的組織架構層面,公司在規劃籌備時就已經發現,由于之前都是服務于内部業務,是以不需要考慮市場、銷售、客戶等因素,是以公司成立之初基本上是以程式員為主。不過既然決定要做軟體生意,在團隊生态方面就一定要建制完全。是以 OceanBase 在獨立營運之後,以非常快的速度擴充了營運規模,組建了自己的商業化團隊。

另一方面,在獨立營運了半年多後,這期間所服務的客戶比過去幾年來所産生的工作強度之和都要大。因為之前都是服務于内部業務,内部相對來說技術需求比較多,并且時間相對充裕,比如雙十一的活動形式是怎樣的,技術團隊提前兩三個月就已經知道并開始準備。但是面向外部客戶,并不是每個客戶都能把技術需求很好的傳遞過來,是以技術團隊的工作節奏與之前相比也變得更加緊湊,并且時間上也相對變得不可控起來。是以對于團隊而言,技術團隊的變化從之前埋頭于代碼,現在更多開始向客戶支援側轉型,這也從另一個層面代表着公司的轉型。

性能:給到客戶的核心價值

企業關注的無非是:從 5 秒 1 單到 1 秒千單,從 4 個小時到 6 分鐘的進化結果。

資料庫作為企業基礎設施中的重要組成部分,對于所有使用者而言,選擇資料庫的标準無非就是能否支援高并發、分布式、性能情況、硬體費用成本的高低等等。

但是今天,我們還多了一項所關注的因素,就是未來趨勢。目前國内願意做出改變的企業都相信分布式是未來,國内企業對于“改變”的接受程度較高,且效果明顯。集中式架構所帶來的效率降低,以及由于業務快速變化與合規要求的沖突正在越來越明顯。

而這種來自于業務上的變化也正在将傳統企業與網際網路企業更加緊密地聯系在一起。傳統企業都在做網際網路 + 的轉型,網際網路企業也在結合傳統企業能力來做線上 + 線下的轉型,這就意味着企業無法使用過去傳統集中式的體系來适應這種環境。

若要适應,則必須做出改變。

以中國人保健康為例,保險行業在網際網路下的形态就是網際網路保險業務。過去人保健康的背景需要離線處理保單,系統效率平均下來每單需要耗費 5 秒的時間。後來開始與支付寶業務進行合作,平台對接後支付寶的流量瞬間沖垮了人保健康傳統的集中式系統,同時由于集中式架構橫向擴充能力差,難以支撐大資料、人工智能等新興應用,在業務系統方面則展現為出單時間長、新品上線時間長,服務失效長,帶給使用者的體驗較差。

“征戰”國内企業市場數十年,資料庫已經走到分布式叉口

是以他們開始尋求改造。在以 OceanBase 為核心運算處理 DB 的新型架構下,目前業務日常出單速率在 3400/min 上下。處理能力也從過去的 5 秒 1 單到現在每秒千單,系統保單的處理速度從 4 個小時縮短為 6 分鐘,新産品上線時間縮短 80% 以上,外部管道的接入效率提升了 6 倍有餘,目前已經成為人保健康網際網路保險雲核心業務系統的資料庫。

用全新的容災思路,找回資料丢失的時間

另外一方面,使用者十分在意的就是資料庫的災備問題。

傳統的資料庫容災方案一般會部署主備方式工作的兩套或多套系統,兩地三中心的部署方式在同城的兩個機房中部署主備兩個系統以及異地一個異步同步的系統來提供資料容災的體系。這種容災方式有兩個不足,一個是主庫的業務可用性和資料保護能力難以兼顧,另一方面業務的恢複時間無法有效保障。

1. 主庫的業務可用性和資料保護能力難以兼顧

對于主備這種保護方式而言,資料一緻性是確定業務恢複後不造成損失的重要前提。若要保護資料一緻性,采用強同步複制方式是可以實作 RPO=0,即可以實作災難切換後資料無損,切換後立刻開始恢複業務,但這樣做會帶來另一方面的影響,因為隻有當主庫和備庫同時送出才會被視作為成功,主備之間強依賴于硬體性能和端到端的可用性,對于網絡波動和備庫故障等所造成的影響會導緻主庫的性能波動甚至于阻塞,如果因為這些不可控的問題而帶來的主庫處理阻塞進而影響到正在行進中的業務,這對于企業的關鍵業務來說是絕對不可接受的。

2. 業務的恢複時間無法有效保障

如果要解決上述的影響,通常會采用異步複制的方式,主庫的送出與向備庫的同步異步完成,不過這種異步同步是做不到嚴格的 RPO=0 的,當主庫出現問題時,由于可能會缺失部分故障前的資料,恢複過程會非常複雜,這就會拖長業務恢複的時間,不同的應用系統、不同的業務環境,對于資料的敏感度是不同的,體量越大恢複越複雜。比如支付寶這種,一小時的系統不可用,所造成的損失可想而知。這種對于使用者和平台來說不可用的時間,是無論如何也彌補不回來的業務損失。

針對這些問題,劉昕解釋說,解決上述問題正是分布式資料庫的優勢所在。Paxos 協定是分布式領域内基于多副本自選主一緻性協定的公認标準,OceanBase 資料庫正是基于這一協定建構的,是以得以利用原生的多副本特性,隻要多數副本确認,事務就可以送出成功,實作對資料 RPO=0 的持續保護,不必擔心單個遠端機房響應慢的問題,所有組成叢集的多副本實質上處于同一個資料庫叢集中,叢集中的分布式事務可以實作多數派強一緻送出和主備副本自動切換,通過對資料強一緻的充分保障,并且對上層業務保持透明,進而為更低的 RTO 時間提供實作前提。

另外劉昕提到,目前 OceanBase 的災備能力标準是高于國标災備等級 6 級的标準,目前 6 級的範圍是 RPO 為 0,RTO 數分鐘以内。

不斷尋找更高的效率,持續突破更快的速度,幫助業務将損失降到最低,彌補對于使用者和平台而言那些可能丢失的時間,這就是 OceanBase 的答案。

最後

技術層面,OceanBase 自然是數一數二,不過 OceanBase 生态也并非完美,它也有着自己的不足。

劉昕認為,OceanBase 目前的不足,主要集中在開發者生态和産品行業技術方面。

經過不到一年的發展,盡管目前 OceanBase 已經擁有了數千開發者,但距離大規模擴充還有很長的路要走。另外,當一款産品持續向行業深水區邁進時,會不斷發現更多的應用場景、更多的特殊需求以及更多的可能性,而這些都是需要 OceanBase 去服務、去提供的,不過也正是這些不同的訴求,驅使着 OceanBase 需要不斷豐富自身技術架構來滿足市場。

網際網路的海量并發和巨大資料量标志着傳統的單機資料庫系統走到了盡頭,分布式系統成為關系資料庫系統的必然選擇。經過 OceanBase 以及其它資料庫持續不斷的市場教育,目前分布式資料庫在國内的接受程度已經相當高了,需求方願意使用分布式資料庫,參與分布式生态的共建與打磨的程序中來。需求側願意共創,供給側則願意持續精進自己的技術能力,國内的資料庫市場已經進入到良性發展的狀态。

讓資料管理和使用更簡單,這是 OceanBase 團隊的夢想,他們也一直在向着這樣的願景努力。而我們也有理由期待,目前百花齊放的國産資料庫市場,正在向着最有未來的方向前進。

受訪者介紹:

劉昕,北京奧星貝斯科技有限公司市場部總經理。2011 年加入阿裡巴巴,曾負責阿裡集團開源項目管理。從 0 到 1 搭建了阿裡集團開發運維後端體系、阿裡雲開發者服務和産品體系。目前負責分布式關系資料庫 OceanBase 的市場統籌與管理,以及市場戰略的制定。全面主持市場推廣、品牌、公關活動、市場合作等工作。