封仲淹:OceanBase開源技術生態全景解析

OceanBase技術站發表於2023-04-13

歡迎訪問 OceanBase 官網獲取更多資訊:https://www.oceanbase.com/


3 月 25 日,第一屆 OceanBase 開發者大會在北京舉行,OceanBase 開源生態資深研發總監封仲淹為大家帶來了《 OceanBase 開源技術生態全景解析》的分享。

Image

以下為演講實錄:

OceanBase 自 2021 年開源後,持續吸引開發者參與共建,拉近和開發者的距離,同時,也在不斷對接新的生態夥伴。今天我想和大家聊聊 OceanBase 開源生態的全景圖,以及我們剛剛釋出的 OceanBase 4.1 版本的新功能和產品未來規劃。

開源開放,與生態夥伴共贏

任何一個系統都不是孤立存在的,而是與上下游協同發展;任何一個資料庫都不能獨立服務使用者,而是需要為使用者提供一整套解決方案,比如應用整合、資料治理、資料遷移及運維管控等,幫助使用者更流暢地完成資料生命週期中的每一個階段。

Image

第一,應用整合就是讓資料更輕鬆地生產出來。 今天 OceanBase 在企業版和社群版已經對接 300+ 套偏應用的系統。涵蓋業務系統、基礎軟體、連線池、中介軟體、ORM、資料驅動、BI 報表、大資料平臺,比如 Flink、Spark、MyCat 等。我們期待更多夥伴的加入。

第二,資料治理是幫助使用者更安全地管理資料,包括基礎客戶端、資料加工、智慧診斷、線上運維、安全管控等。 在我們對接的系統中,有 OceanBase 開發者中心(OceanBase Developer Center,ODC),有開源的 DBeaver,還有許多商業系統。

第三,資料遷移是讓資料自由地流動起來。 目前對接的系統中,能夠讓 MySQL、Oracle、DB2、Elasticsearch、PostgreSQL、Hive、TiDB的資料流入 OceanBase,也能從 OceanBase 將資料同步到其他資料庫中。在這些遷移的工具中,有 OceanBase 遷移服務(OceanBase Migration Service,OMS),也有開源的 Flink CDC、Canal、ChunJun 等,還有商業的 Data Pipeline 以及數控工廠等。

而我最想分享的一點是,如今資料遷移這個市場孕育了大量的商業機會,在 OceanBase 的整個生態中,無論是社群版、企業版還是雲上,我們都願意將商業機會分享給合作伙伴。

第四,運維管控,讓使用者更輕鬆地運維OceanBase。 我們對接的系統有 Kubernetes、Grafana、Data Foundatian 等,並期待 OceanBase 被更多的平臺整合,2021 年,我們開源了 ODC,使 OceanBase 被更多大客戶如攜程、快手等整合,在他們的平臺上運維 OceanBase,2023 年我們計劃開源 OCP Express。

下圖是 OceanBase 的生態全景圖。目前我們已經有 400+ 生態系統(詳細資訊可在 GitHub 瞭解),包括大資料業務中臺、資料管理平臺、測試系統等,我們期望與更多的生態系統進行連結。並共享商業機會,實現生態共贏。

Image

及時響應,與開發者共同成長

與生態夥伴同等重要的是使用者與開發者,我們想打造一個及時響應的社群,更快速地幫助使用者解決問題,並和使用者一起成長。當下,我們的釘釘使用者答疑群每天有 300+ 條的日訊息量,社群問答論壇每月沉澱 1500+ 條帖子,使用者的積極反饋幫助 OceanBase 更快地迭代,以及沉澱大量文件和解決方案。

另外,從 2022 年的雲棲大會開始,我們投入了大量的資源向開發者傾斜,並安排多人進行值班。相比去年,今年我們對 Issue 的首次響應時間快了四分之一,Issue 數量也大幅增長。更為關鍵的是,企業版研發分支和社群版的研發分支進行了合併,因此,程式碼提交頻率及貢獻者數量也有了顯著增加。

Image

在與使用者的溝通頻率方面,由於一些環境原因,過去兩年很多線下交流活動無法舉辦, 今年起,我們會加大線下交流頻率,與使用者零距離溝通。同時,希望與上下游夥伴聯合發聲,共同做一些事。

持續響應,4.1版本新功能

最近,我們釋出了 OceanBase 4.1 版本。較之前版本實現了更多場景支援、穩定性強化、上手更容易、價效比提升。

Image

▋ 更多場景支援

我們明確提出了單機形態,並增加旁路匯入功能、提供 OEKV、多模(GIS/LOB)能力。

曾經有一位客戶,130 TB 的資料用了七天才遷移完,在遷移過程中我們的支援團隊也非常痛苦。因此,OceanBase 4.1 實現了旁路匯入,繞過 SQL 引擎、事務引擎,從解析器將資料寫到儲存引擎的檔案上,效能提升了7倍左右。

之所以提供 OBKV 的能力,是因為一些客戶使用 HBase ,但不想安裝 Hadoop 那套比較大的元件。一些使用者是在關鍵場景中使用 HBase 害怕 Jave 的 JC,導致業務抖動。還有一些使用者在資料庫領域使用 Redis,並且將 Redis 作為一個持久化的資料庫使用,這會存在很多問題。OBKV 的能力開放後,使用者可以透過 OBKV 的 API 層並繞過 SQL 層直接訪問事務層,效能得到大幅提升。我們也在和生態使用者合作,嘗試支撐 Redis 模型。

OceanBase 4.1 對 GIS/LOB 的支援,也使其不再侷限於過去的 48 MB,如今這個限度提升到了 512 MB。

此外,為了提升相容性,OceanBase 4.1 還提供了拉丁字符集的支援,強化了與MySQL 8.0 的相容性。

▋ 穩定性增強

OceanBase 4.1 開放了基於 NFS 和 OSS 的主備庫功能,便於系統做主從叢集或異地多活,並且實現了 SQL 識別的隔離和租戶的執行緒池最佳化。 在穩定性之下,OceanBase 的應用性也得到了大幅提升。

首先是 白屏化安裝 ,降低了使用者的安裝難度;其次是 整合 OCP Express ,使運維更輕量化;然後是 日誌最佳化 ,過去所有研發的日誌全部混在一起,現在研發日誌被拆分,提升了高可用。

我們有一位海外遊戲廠商客戶,過去基本上使用 16C128G 的單機資料庫,以至於他的業務系統存在大量風險和擴充套件性問題。這位客戶將系統替換為 OceanBase 4.1 後,可以將單機變成分散式,然後實現一個叢集以保證系統的高可用,當他需要跨域或跨機房的時候,可以用主備庫的方式實現整個叢集的高可用。

▋ 上手更容易

坦白講,安裝部署是我們被吐槽得非常狠的一方面,比如叢集安裝失敗、OCP 安裝失敗、監管失敗等,我們在 OceanBase 4.1 中針對這些問題做了非常多的最佳化。

首先,簡化安裝流程。使用者只需要敲一個 OBD Web 就可以啟動白屏化安裝流程,並且安裝介面非常簡潔明瞭;其次,讓使用者靈活選擇,提供完全部署和精簡部署,以供使用者最大化地使用叢集資源部署或用最節省資源的方式部署;最後,在整個安裝的過程中,多次 check,讓整個安裝部署過程變得更加智慧。

此外,本次釋出的 OCP Express 是沉澱多年的 OCP 管控系統的輕量版,能夠直接整合到系統中提供核心管控功能(不降功能只降資源,六個應用場景帶你瞭解 OCP Express)。過去,OCP 的安裝時長通常以天計,而 OCP Express 是以分鐘計,這背後還有一個更大的邏輯,就是我們期望 OCP Express 能夠更好地被生態夥伴整合到管控系統。

▋ 價效比提升

在 OceanBase 4.1 中,OLTP 效能較之前提升了 40%,OLAP 的效能提升了 17%。在效能提升背後,有 OBProxy 路由最佳化、大事務最佳化、運算元最佳化、小表儲存最佳化等等。

後續我們會持續提升 TP 和 AP 的效能。

Image

TP 方向的目標是小規格趕超 MySQL,目前在 Sysbeach 測試中,OceanBase 的表現超過了 MySQL,但我們期望在使用者的真實場景中,也能讓使用者感知到小規格 OceanBase 比 MySQL 更快。

在 AP 方向,我們會做大量的持續最佳化:比如冷熱分離,將冷資料存到 OSS 上,熱資料保留在本地的磁碟中;再比如只讀外表,許多客戶希望能夠只讀取外部的資料。在此可以向大家透露一點,我們會在 4.2 版本或 4.3 版本嘗試實現 Auto DOP。

生態共建,社群版未來規劃

關於 OceanBase 社群版的未來,我們目前有四方面的規劃。

第一, 助力生態發展。 我們計劃在六月份開源 MySQL Blog Service,使業界更多的系統能夠直接複用,甚至可以實現一些高可用場景,比如異地多活,一邊是OceanBase,一邊是 MySQL,滿足熱備切換或實時同步等需求。

第二,開源 OCP Express。 讓 OceanBase 能夠被更多大客戶的平臺整合,甚至將OCP Express 的程式碼抽取後整合到客戶的管控系統中,幫助生態管控工具更好地管理 OceanBase。

第三,開源 ODC 。 ODC 已經在金融、運營商、電商、政務、能源等行業的商業使用者場景中使用,讓使用者更好地進行資料庫的協同開發,提高開發效率,以及做好資料的匯入、匯出、診斷、安全管理等。我們計劃在六月份將其開源,更好地服務社群使用者。

Image

第四,強化核心。 除了持續最佳化 TP 和 AP 能力外,我們計劃在 4.4 版本中全面相容 MySQL 8.0。目前我們在每三個月的釋出版本中,都會做大量的 MySQL 功能相容。我們也期望開放更多的功能,實現核心共建。

最後,希望更多夥伴加入 OceanBase 的生態共建陣營,我們將向合作伙伴分享開源及雲的商業機會。同時,做好社群共建,及時響應使用者,持續交流共同成長。


歡迎訪問 OceanBase 官網獲取更多資訊:https://www.oceanbase.com/

相關文章