做難而正確的事,OceanBase的取捨
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達成世界級資料庫的夢想,我們拭目以待。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70018962/viewspace-2901251/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用快取的正確姿勢快取
- Java 正確的做字串編碼轉換Java字串編碼
- 玩法與敘事撕裂許久,3A與暴力卻難分難捨
- 天美:在對的時間做正確的事,始終面向“未來”研發遊戲遊戲
- 用 PHP 讀取檔案的正確方法PHP
- iOS開發-獲取rootViewController的正確方式iOSViewController
- 解讀mysql的索引和事務的正確姿勢MySql索引
- 【經驗帖】專案經理的核心價值:以目標為導向做正確的事
- 這才是分散式事務的正確開啟方式!分散式
- 選擇華瑞,是我做的最正確的選擇
- 角色、事件和世界三選一,這是《戰神4》的敘事取捨事件
- Python做int()強制型別轉換的時候,小數是如何取捨的?Python型別
- 懂得取捨才是快取設計的真諦快取
- 正確做資料治理的10個關鍵步驟
- 讀取ClassPath下resource檔案的正確姿勢
- [譯] 使用 closest() 函式獲取正確的 DOM 元素函式
- iOS獲取當前控制器的正確方式iOS
- 那些關於JS四捨五入的事JS
- redis持久化的取捨和選擇Redis持久化
- Troubleshooting 專題 - 問正確的問題 得到正確的答案
- 如何正確讀取RTI中enum
- 廣電運通餘昌鴻:像“路明非”一樣,努力做正確的事丨對話MVPMVP
- SpringBoot專案中使用快取Cache的正確姿勢!!!Spring Boot快取
- 正確讀取SQL Server中的擴充套件事件SQLServer套件事件
- 獲取本機電腦IP的正確使用方法
- 從把事做對到做對的事
- 如何正確的找BUG
- PHP Opcache 的正確使用PHPopcache
- 遊戲平衡,就是取捨遊戲
- 科普 | 電動牙刷/普通牙刷的正確使用方法和注意事項
- 錄製線上流量做迴歸測試的正確開啟方式
- 如何選擇正確的讀取SD的資料表,提高程式效能
- Spring Boot 3.2專案中使用快取Cache的正確姿勢!!!Spring Boot快取
- 深入探究ASP.NET Core讀取Request.Body的正確方式ASP.NET
- 上帝與集合的正確用法
- 如何進行正確的 CodeReviewView
- ThreadLocal的正確使用與原理thread
- OnlineJudge的正確開啟方式