作者:老魚,本文轉載自公眾號老魚筆記。
6月1日,OceanBase 宣佈正式開源,採用木蘭公共協議 MulanPubL-2.0 版,開放近300萬行代碼,同時成立 OceanBase 開源社區及技術委員會,社區官網同步上線。
OceanBase 是螞蟻集團完全自主研發的金融級分佈式關係數據庫。具有高可用、可拓展、高兼容、低成本、強一致及高性能等特點。經歷過阿里超大規模業務場景、支付寶金融級場景以及雙11等戰役的歷練。
目前,OceanBase 已在多家機構落地應用,包括中國工商銀行、山東移動、福建移動、數字江西、中國石化、中華財險、人保健康、浙商證券、天津銀行、西安銀行、常熟農商行、東莞銀行等。
OceanBase 為何開源?開了什麼?這次開源能否堅持到底?這都是老魚想知道的問題,為此,老魚特別採訪了 OceanBase CEO 楊冰和 OceanBase CTO 楊傳輝。
一天 Github Star 破兩千
作為國內自研數據庫的標杆,OceanBase 開源顯然備受矚目。此次開源採用業界通用 Open Core 模式。也就是核心(core)開源,周邊付費。好處在於開源和非開源模塊界限分明,難在取捨度上的把握。如果開源部分太弱,開發者會覺得雞肋,如果開源部分尺度太大,顯然會影響周邊。
從實際情況來看,開源僅一天,OceanBase 就已在 Github 上拿下2100+個Star,火爆程度可見一斑,也從側面證明開發者對 OceanBase 開源誠意的肯定。
有開發者表示,OceanBase 代碼值得一看,顏值高,是 DB 中的“大美女”。也有開發者說,看代碼量,OceanBase 確實有誠意,只看了一天代碼就學到很多。
更有開發者表示,能夠開發出一個300萬行代碼的軟件充分說明了 OceanBase 團隊的實力,大型國產軟件還得靠這樣的大團隊。
OceanBase CEO 楊冰說:“OceanBase 開源是有真材實料的,也是真心實意的。相信開發者很快就會發現這點。”
OceanBase 社區版包含完整的數據庫內核、分佈式組件和接口驅動層。企業版與社區版的差別僅在於高級功能,如商業特性兼容、圖形化管理工具、操作審計、安全加密、高可用擴展等。OceanBase CTO 楊傳輝告訴老魚。
開源初心 做難而正確的事
時間回撥到一年前,2020年6月8日,螞蟻集團宣佈將自研數據庫產品 OceanBase 獨立進行公司化運作,公司名為北京奧星貝斯科技有限公司。
從獨立公司成立這一天起,OceanBase 管理團隊就一直在思考,接下來到底應該怎麼走?取什麼?舍什麼?是不是隻做線下的?線上的要不要做?雲是趨勢,作為獨立的數據庫公司,中立性是需要保持的,如何去做多雲的適配?這些都非常難決策。
“作為公司的 CEO,我考慮最多的是公司生死問題,OceanBase 不做什麼會死?”楊冰告訴老魚。OceanBase 不開源並不一定會死,但活的肯定不如想像中的美好,因為,時間窗口很重要,OceanBase 必須抓住這個時間窗口。如果只是為了賺點錢,OceanBase 不一定要開源,但 OceanBase 的夢想是成為最優秀的世界級數據庫。
OceanBase 從誕生之初就一直在“做難而正確的事”,楊冰說。做數據庫難,選擇自研這條路就更難了,打榜拿世界第一也很難,OceanBase 一直在選擇最難啃的骨頭去啃,是因為 OceanBase 團隊覺得這些事值得做,並且正確的事。因為,只有這樣才能真正做到國產化的核心替代。
楊冰表示,在中國並不缺一家數據庫的公司,但卻缺少一家真正能夠完成核心替代的高端數據庫。
事實上,目前國產化的挑戰依然非常大,OceanBase 在國產數據庫中並不算差,但僅靠今天的能力想要真正達到全面國產化還有差距,OceanBase 作為國產數據庫的一個重要的參與者,希望可以發展的更快。而開源可以幫助 OceanBase 更快的應用起來,促進產品更快的成熟和落地,所以, OceanBase 選擇開源,這個決策在團隊和集團高層中沒有任何糾結。楊傳輝說。
表個態 開源會一直做下去
事實上,OceanBase 早期版本曾經開過源,只是之後又閉源了,那麼,這次開源與早期有何不同,歷史還會重演嗎?
顯然,這是個很尖銳的問題。但老魚還是問了。因為,這一定是眾多開發者非常關注的問題。
楊傳輝表示,OceanBase 早期0.4版本確實曾經做過開源,不過,那時的開源是技術性開源,也就是就純技術層面的分享和貢獻,另外,也有跟風的成分。因為,當時阿里開源了不少項目,OceanBase 作為技術之一也就開源了,但無論是從架構、代碼成熟度上看,還有運營規劃上,其實當時都沒有做好充分的準備。
但這次 OceanBase 開源與早期的開源完全不同。楊傳輝說,今天開源已經上升為 OceanBase 重要的技術戰略。這次開源是充分考慮了技術和商業發展做出的戰略決定。
“這裡表個態,OceanBase 開源一定會持續下去,並且有專門的團隊去運營維護,而且這個團隊人還很多。”楊冰說。雖然,OceanBase 沒有很豐富的開源運營經驗,還有很多東西需要去學習。但楊冰相信,沒有邁不過的坎,團隊擅長解決問題,畢竟連支付寶場景、TPC-C 也都過了,因此,只要定好方向,大家去做就好了,只是做事方式方法需要學習。
值得強調的是,OceanBase 是自研的數據庫,這與基於開源 MySQL 或 PostgreSQL 二次開發的自研數據庫並不一樣,沒有現成的生態,需要完全構建一個與 MySQL 平行的第三個生態。楊傳輝說,因此,OceanBase 開源起步會更艱難。因為,所有代碼都是第三方體系,而不是以前熟悉的 MySQL 和 PostgreSQL。所以,前期陡峭的成本是存在的。
為了降低陡峭成本,OceanBase 還誕生了“春風十里”計劃,樹立10大標杆客戶,主動上門佈道,主動提供 VIP 服務,不求客戶回報,只為扶上馬送一程,幫客戶成功,讓客戶真正把 OceanBase 用起來。楊傳輝說。為此,他還給自己定了個小目標,每兩個月一次直播,不是講理念,而是分享技術和代碼。
總的來說,OceanBase 此次開源是認真的而非作秀,其開源目的和路線圖很清楚,更為關鍵的是,對於開源,OceanBase 有著長期持續投入的打算和足夠耐心,剩下的就交給時間來檢驗。
開源,能否助力 OceanBase 達成世界級數據庫的夢想,我們拭目以待。