天天看點

開源是基礎設施最佳開發方式 | GOTC 全球開源技術峰會

近期,由開放原子開源基金會與 Linux 基金會亞太區聯合開源中國共同舉辦的“GOTC 全球開源技術峰會”在上海世博中心圓滿落幕。來自全球各個頂級開源基金會的負責人、開源社群參與者,以及全世界的開源愛好者共聚一堂。各位開源業内的專家以開源為題,以大會為媒,展開了一場深刻的行業趨勢大讨論。

開源是基礎設施最佳開發方式 | GOTC 全球開源技術峰會
OceanBase 作為國内優秀開源項目的代表,螞蟻集團 OceanBase 的 CEO 楊冰在峰會上分享了他過去幾年在基礎設施開源開放方面的一些思考,并通過回顧整個 OceanBase 的發展曆程,總結了基礎設施建設堅持開源與開放的重要性。

堅持,開源最初的信仰

楊冰介紹,自己跟開源技術的緣分由來已久。2009 年,楊冰加入螞蟻集團,參與集團内部最大的金融體系分布式架構 —— SOFAStack 的研發,成為了整個中間件團隊的負責人,不斷帶領着團隊進行螞蟻集團的科技商業化探索,并把像 OceanBase、SOFA 等等一些基礎設施對外開放。他将“基礎設施開源”作為信仰,并積極推動着螞蟻集團内部一些分布式架構元件的開源工作。2020 年,楊冰正式加入 OceanBase 團隊,與 OceanBase 創始人陽振坤教授一起積極推動項目的開源。

開源是基礎設施最佳開發方式 | GOTC 全球開源技術峰會

OceanBase 是一個原生分布式資料庫,原生這個詞确實是借鑒于這幾年比較流行的「雲原生」當中的“原生”,其中的理念也是一樣的。“我們希望把簡單留給應用開發,把複雜留給自己,應該在資料庫内部解決分布式的問題。”楊冰說。

一個好的資料庫是用出來的

常常被問到 OceanBase 與其他的資料庫有什麼不同,楊冰認為,有三點巨大的差異:

首先,從第一行代碼開始,OceanBase 就進行百分之百的自研,那個時期市面上并沒有一款資料庫把分布式的模型設計當作是一等公民。“我們看到這是一個未來,是以我們從第一天開始,就選擇堅持做原生分布式關系資料庫。而在今年 6 月 1 日公司成立一周年這個契機,将 300 多萬行代碼開源,我們是希望能夠将過去十年沉澱下來的技術跟大家分享,能夠讓大家更好地在分布式領域往下探索。”

其次,一款好的基礎設施軟體不是設計出來的,而是在不斷的實踐中疊代出來的,而 OceanBase 正是如此。楊冰表示,OceanBase 是目前全球唯一一個在大規模的金融級場景當中,長期經受考驗并長期運作的資料庫。對于基礎軟體來說,金融的場景算是最為嚴苛也最為重要的場景。楊冰和他的團隊在十一年的時間裡,參加了将近十次的雙十一大戰,是雙十一的老兵,在“參戰”過程中,OceanBase 經受住了各種嚴苛考驗。近三年,OceanBase 團隊也不斷地與外部的夥伴和客戶展開合作,探索了更多外部的使用場景。

最後,OceanBase 先後參加了由權威機構國際事務處理性能委員會(TPC)組織的 TPC-C 國際基準測試,并打破世界紀錄成為榜首,OceanBase 經受住了國際标準的考驗,也證明了分布式技術可以與資料庫非常好地結合,并不斷突破和發展。楊冰表示,希望 OceanBase 未來能夠緻力于成為一家全球性的、企業級資料庫技術服務者。“資料庫是一個非常高壁壘的基礎領域,我們希望在這個領域能夠發出中國人的聲音,打造中國的品牌。”

天時地利人和鑄就OceanBase

上世紀 60 年代,資料庫技術先驅 Charles Bachman 提出了網狀資料庫模型,并上司提出了 DBTG 報告,颠覆性地指出現代資訊系統應該“以資料庫為中心”。1970 年,關系型資料庫之父 E.F.Codd 發表《大型共享資料庫資料的關系模型》一文,首次明确而清晰地為資料庫系統提出了一種嶄新的模型 —— 關系模型,用關系二維表的方式描述實體世界,讓資料庫技術變得更加流行,也為後來的資料庫技術奠定了堅實的數學理論基礎。

80 年代, James Gray 出現,在關系模型資料庫蓬勃發展的過程中,他定義了事務模型的标準,使得資料庫真正成為能夠處理 mission-critical 應用的基礎軟體。

對資料庫技術做出了重大貢獻的圖靈獎獲得者 Michael Stonebraker ,相信很多人對他并不陌生,他參與了 Ingres 、ProgreSQL 等很多資料庫的設計,也是不同資料庫公司的創始人,創立了很多不同類型的資料庫産品。

回顧整個資料庫的發展,由幾代偉大的圖靈獎獲得者推動,從理論突破到實踐的不斷輪回,到如今也并沒有停下腳步。

楊冰認為,資料庫發展遇到了兩個巨大的挑戰。

近年,科技的高速發展,人類社會數字化程序加快,如今的資料庫必然會面臨海量的資料存儲和請求;第二個問題是,從 PC 網際網路時代過渡到移動網際網路,讓人們可以随時随地使用手機享受所有的服務,這就對業務的高可用性提出了更高的要求。

開源是基礎設施最佳開發方式 | GOTC 全球開源技術峰會

而在十一年的發展過程中,阿裡内部的資料庫技術也經曆了三大時代。

第一個時代,面對海量的資料和請求,阿裡堅定不移地走向分布式的方向,也在淘寶、天貓、支付寶這樣一些大型的場景中得以應用和創新。

第二個時代,為原生分布式階段。OceanBase 從阿裡巴巴集團的淘寶,慢慢轉戰到的支付寶,因為隻有對于資料庫有更高要求的金融級場景,才真正能夠打磨和鍛煉出資料庫的性能,但是, OceanBase 面臨的是金融+網際網路混搭的場景,更要求資料庫性能做到極緻 。OceanBase 也不斷地在創新、在突破,從傳統的儲備到多副本,到兩地三中心,到三地五中心……OceanBase 一直在分布式方向上演進,如今已經具備城市級容災能力。

第三個時代,OceanBase 從極緻的 OLTP 場景慢慢向資料分析的方向延伸,進入 AP 與 TP 融合的 HTAP 時代。整個部署架構也從私有雲走向混合雲,乃至多雲部署。更重要的是,OceanBase 從阿裡内部的使用場景慢慢走向更廣闊的外部通用場景,變得更加開放。也正因如此,團隊決定将 OceanBase 開源。

楊冰表示,如果把螞蟻内部的技術生态當作是一個小的社群,他們也是通過開源開放的方式先在内部加速了整個基礎設施的發展。從本質上來說,OceanBase 是在螞蟻和阿裡内部特定的應用場景之下誕生,為應對不同時代的挑戰發展疊代,包括如何應對無限擴充、應對流量峰、應對高可用等。OceanBase也 解決了不同時期分布式可擴充性、高可用、容災等問題,使得底層基礎設施标準化,進而能夠投入到上層進行創新,推動整個基礎架構的發展。

如今,OceanBase逐漸應用到了通用的場景,包括通訊、交通等各個領域。OceanBase 如今向外發展,開源能夠吸引更多的合作夥伴參與共建,并不斷走向成熟。

開源,基礎設施建設的最佳途徑

在峰會上,楊冰也抛出了自己對于基礎設施建設的思考和觀點。

基礎設施軟體的發展,無論是開源的還是閉源的,最後活下來、發展比較好的,一定會走向标準化和規模化。從最早的 Linus 無心插柳,以開源的方式搭建了 Linux 這一全球開發者共用的基礎設施,到後來有了大量 Iaas 層的基礎設施服務,整個技術的發展必須要等到底下的基礎設施形成了一定标準和規模以後,才得以蓬勃發展。通過開源的方式,可以更快地形成這個标準。

形成标準的過程在 PaaS、大資料等技術領域,乃至 OceanBase 本身的發展過程中,都有充足的案例。例如在微服務通訊領域,通過開源開放的方式建立的 grpc 已經成為事實标準;K8s 成為了雲原生基礎設施建設的事實标準等。正是因為有了這些已經形成标準的開源軟體,才使得開發者的精力不用消耗在相容适配上面,又可以使得整個基礎設施這個高樓可以不斷地疊代往前發展。楊冰表示:“開源是基礎設施實作标準化和規模化最佳的途徑。”

開源是基礎設施最佳開發方式 | GOTC 全球開源技術峰會

此外,開源也會增加基礎設施疊代速度。一款軟體的核心競争力并不在于當下它的功能有多強大,而在于其可以有多快的疊代速度。以 OceanBase 為例,如何能夠在内部高速發展的十一年中保持節奏,在往更廣闊的空間走的時候保持疊代的速度,主要有三大要素:

首先,開放是非常重要的。OceanBase 從内部的專有場景走向外部通用的場景,需要跟更多上下遊的軟體進行互動,在這樣的方式下如果是閉源發展,隻能走出去,外部不能走進來,OceanBase 跟整個生态的對接速度就會很慢。

其次是場景。因為基礎軟體發展到這樣複雜的規模,需要經曆很多場景的打磨,想要成為一個更加通用的軟體,勢必需要更加廣闊的場景,開源的方式,能夠更快地進入到不同的領域,并能不斷打磨産品。

最後是學術。在過去幾年中,有很多人跟 OceanBase 團隊做過學術交流。探讨如何将分布式技術和資料庫技術結合,研發過程的挑戰等。雖然 OceanBase “理論突破+工程實踐”螺旋式的上升,積累了大量的工程實踐經驗,但到了 2010 年之後, OceanBase 團隊也遇到很多理論上的瓶頸。隻有通過開源開放的方式,才能夠更快形成産學研相結合的模式,進而健康地推動整個領域的發展。

過去一年,受疫情的影響,人們的生活變得非常不便,但也快速推動了全球各個行業數字化的趨勢,有更多的場景被搬到了線上進行了數字化,而這些都離不開基礎設施軟體。而開源是基礎設施能夠保持核心競争力,能夠快速疊代的最佳的開發方式,是基礎設施軟體提升競争力和适應性必要的手段。

楊冰表示,OceanBase 也會在開源之路上堅定地走下去,希望能夠通過大家的努力,在開源世界發出中國的聲音。