《科技觀察》119:OceanBase社區(qū)版4.0:引領(lǐng)時代,更創(chuàng)造時代
今年8月10日,在2022 OceanBase年度發(fā)布會上,OceanBase 4.0首次亮相,在經(jīng)過85天的快速升級迭代,且歷經(jīng)內(nèi)外部客戶的場景測試與真實(shí)業(yè)務(wù)場景的穩(wěn)定性“打磨”之后,OceanBase 4.0將“簡單易用”的應(yīng)用感受留給了客戶。
而在日前舉辦的2022 云棲大會上,OceanBase 社區(qū)版 4.0(代號小魚)宣布正式發(fā)版,它不僅與企業(yè)版擁有同等性能,更兼容、更易用,同時更能在2分鐘內(nèi)完成快速部署,這也意味著業(yè)內(nèi)首個兼容MySQL的單機(jī)分布式一體化數(shù)據(jù)庫成功上線。
測試數(shù)據(jù)顯示,在同等硬件環(huán)境下,OceanBase社區(qū)版4.0 Beta的TP性能是 MySQL企業(yè)版8.0的1.9倍,而AP性能是Greenplum 6.22.1的5至6倍。換句話說,OceanBase 社區(qū)版4.0既能夠穩(wěn)定可靠應(yīng)對OLTP核心業(yè)務(wù)場景,也具備強(qiáng)大的OLAP實(shí)時分析場景能力,是真正能夠處理OLTP與OLAP的單機(jī)分布式一體化數(shù)據(jù)庫。

從這個角度來說,OceanBase社區(qū)版4.0的正式發(fā)版意義重大,特別是在全新的數(shù)據(jù)時代,在數(shù)據(jù)類型新、數(shù)據(jù)分析新、數(shù)據(jù)負(fù)載新的挑戰(zhàn)之下,OceanBase社區(qū)版4.0真正打破事務(wù)處理和分析之間的“壁壘”,能夠在同一個數(shù)據(jù)庫中,提供更為高效的“實(shí)時業(yè)務(wù)”決策,幫助企業(yè)更好地實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型,走向商業(yè)成功。
更為關(guān)鍵的是,作為業(yè)內(nèi)首個單機(jī)分布式一體化架構(gòu),OceanBase社區(qū)版4.0既可以支持業(yè)務(wù)最初僅使用單機(jī)進(jìn)行部署,同時更具備單機(jī)到多機(jī)水平的擴(kuò)縮容能力,這也標(biāo)志著在基礎(chǔ)軟件領(lǐng)域,源自中國本土市場公司自研的企業(yè)級原生分布式數(shù)據(jù)庫無論是其技術(shù)領(lǐng)先性,還是在市場實(shí)踐和驗(yàn)證方面都走到了全球的前列。
同樣,這也讓中國基礎(chǔ)軟件產(chǎn)業(yè)在世界范圍內(nèi)具備了更為強(qiáng)大的競爭力,在未來能夠以更強(qiáng)的實(shí)力與底氣參與全球化市場的“角逐”,因此這也正是OceanBase一直以來引領(lǐng)時代,更創(chuàng)造時代的真實(shí)寫照。
以快打慢
作為全球首個兼容MySQL的單機(jī)分布式一體化數(shù)據(jù)庫,OceanBase社區(qū)版4.0最大的“亮點(diǎn)”在于,它與企業(yè)版擁有同等性能,具備單機(jī)數(shù)據(jù)庫高性能、低成本與分布式數(shù)據(jù)庫高可用、可擴(kuò)展的雙重技術(shù)優(yōu)勢,且更兼容、易用,同時更能2分鐘內(nèi)即可完成快速部署。
也正因此,自O(shè)ceanBase社區(qū)版4.0 Beta(公測)11月初正式亮相以來,整個國內(nèi)的開發(fā)者對此給予了高度的關(guān)注,不少開發(fā)者在OceanBase社區(qū)版4.0正式發(fā)版當(dāng)晚,就連夜“肝”起了這款軟件的部署和安裝,不少開發(fā)者在體驗(yàn)完了OceanBase社區(qū)版4.0之后,同樣也給出了非常高的評價。
比如一位開發(fā)者就表示,OceanBase社區(qū)版4.0給了他非常大的驚喜,其中在“快速部署及易用性方面”,相比傳統(tǒng)的數(shù)據(jù)庫在安裝時對環(huán)境要求比較高,部署過程較為繁瑣,非常耗時等“痛點(diǎn)”,OceanBase“全家桶”的安裝由原來需要5步手動安裝部署,優(yōu)化為3個步驟,簡單明了,兩分鐘即可以完成體驗(yàn)demo;除此之外,OceanBase“全家桶”安裝包中還包含了OBD、OBProxy、obagent、Grafana 和 Prometheus等工具,且各個工具各司其職,無縫配合,這有有助于開發(fā)者更好的使用OceanBase社區(qū)版4.0,大大提升了產(chǎn)品的易用性。
另一位開發(fā)者則對OceanBase社區(qū)版4.0的體驗(yàn)更加“細(xì)致入微”,他關(guān)注到了OceanBase社區(qū)版4.0在文檔和學(xué)習(xí)手冊方面等“細(xì)節(jié)”工作,此前缺乏高質(zhì)量的文檔一直是國產(chǎn)數(shù)據(jù)庫的十分重要的“短板”,而這次OceanBase社區(qū)版4.0無論是在產(chǎn)品說明、部署手冊、參考手冊、管理員手冊乃至開發(fā)手冊等方面不僅“一應(yīng)俱全”,且能夠讓開發(fā)者全面了解OceanBase社區(qū)版4.0文檔體系,因此他對OceanBase社區(qū)版4.0的文檔體系評價是“挺有用的”。
正所謂“見微知著”,從兩位開發(fā)者對OceanBase社區(qū)版4.0的“體驗(yàn)”感受來看,這次為了進(jìn)一步降低用戶的使用門檻,OceanBase 社區(qū)版 4.0 在“易用性”上“下足了功夫”,特別是針對傳統(tǒng)分布式數(shù)據(jù)庫非常復(fù)雜的架構(gòu)設(shè)計(jì)及部署難度,OceanBase 社區(qū)版 4.0 通過“一體化”極簡安裝包,將所有組件提前做好適配測試,并給出推薦組合版本,讓組件之間的依賴變得簡單。
在此基礎(chǔ)上,面向剛接觸分布式數(shù)據(jù)庫的用戶場景, OceanBase 社區(qū)版 4.0 也提供一鍵安裝命令“obd demo”,這樣讓用戶也能快速安裝OceanBase集群 demo環(huán)境,跳過集群的復(fù)雜配置步驟,避免用戶因不熟悉配置參數(shù)導(dǎo)致集群配置錯誤以及最終安裝失敗,同時僅僅只需要2分鐘即可完成全部的部署工作,實(shí)現(xiàn)了讓用戶更快速、更便捷上手OceanBase的目標(biāo)。
事實(shí)上,數(shù)據(jù)統(tǒng)計(jì)也顯示,自2021年6月開源后,OceanBase的GitHub單日最高Star、Fork和Commit數(shù)值,均明顯高出PostgreSQL等流行數(shù)據(jù)庫,而此次OceanBase社區(qū)版4.0正式發(fā)版,以其更好的“易用性”無疑會讓OceanBase的項(xiàng)目活躍度實(shí)現(xiàn)進(jìn)一步的提升。
客觀地說,進(jìn)入數(shù)字化的全新時代,企業(yè)商業(yè)模式的勝負(fù)從過去的“大魚吃小魚”轉(zhuǎn)變成為了“快魚吃慢魚”,而OceanBase 社區(qū)版 4.0在“易用性”上的提升以及安裝部署時間的“縮短”,本質(zhì)上都是為了降低門檻,幫助企業(yè)和開發(fā)者能夠更快地上手?jǐn)?shù)據(jù)庫,而這種一種“以快打慢”的方式,在改變了傳統(tǒng)數(shù)據(jù)庫非常復(fù)雜的部署方式的同時,相信也能夠更快地加速企業(yè)數(shù)字化轉(zhuǎn)型的步伐。
以小見大
當(dāng)然,OceanBase 社區(qū)版 4.0最大的技術(shù)突破性還在于,其基于單機(jī)分布式一體化的架構(gòu),為企業(yè)提供一個面向未來的數(shù)據(jù)發(fā)動機(jī)。簡單來說,它能以更強(qiáng)的OLTP及OLAP性能,幫助適合分布式場景的大型用戶;同時也其“小型化、小規(guī)格部署能力”,幫助適合單機(jī)場景的中小規(guī)模用戶,以及可能會在未來某個瞬間迎來業(yè)務(wù)爆發(fā)式增長的初創(chuàng)企業(yè),都能更好地駕馭“數(shù)據(jù)庫”的能力,具體來說:
一方面,從更強(qiáng)的OLTP及OLAP性能來看,針對OLTP應(yīng)用場景,OceanBase 社區(qū)版4.0全面開放了MySQL 兼容能力,全面兼容 MySQL 8.0 協(xié)議,大幅提升 Online DDL 能力,支持超大事務(wù),支持主鍵變更、主鍵增刪改等。此外,在多租戶的核心能力方面,首次將 IO 納入隔離體系,并將集群級別粒度的備份能力細(xì)化拆分到租戶級別粒度,最小可支持按租戶級別的備份及恢復(fù)。
與此同時,OceanBase 4.0借助全新的底層架構(gòu),也全面提升數(shù)據(jù)庫的讀寫性能,在交易處理場景下,全新設(shè)計(jì)的融合日志緩沖區(qū)將同時支持聚合提交和分布式共識協(xié)議,顯著減少內(nèi)存拷貝和 CPU 指令開銷,讓 OLTP 性能有 1 倍以上的提升。

針對OLAP應(yīng)用場景,OceanBase 4.0將完全自主設(shè)計(jì)的向量化查詢引擎全部開源,加上行列混存能力的引入,可以極大提高 CPU 單核處理性能,實(shí)現(xiàn)復(fù)雜查詢分析性能提升 4-5 倍。
點(diǎn)擊添加圖片描述(最多60個字)

其中,在計(jì)算層,OceanBase全面開放了向量化引擎,以Architecture aware的設(shè)計(jì)改造了全部的算子和絕大部分常用的執(zhí)行表達(dá)式,充分發(fā)掘現(xiàn)代CPU的cache特性以及優(yōu)化指令;而在存儲層,OceanBase提前對數(shù)據(jù)進(jìn)行計(jì)算或過濾, 從而減少無效數(shù)據(jù)的處理,提升計(jì)算效率;此外,OceanBase還開放行列混存存儲引擎, 支持列編碼技術(shù),在讀取數(shù)據(jù)時可只對需要的列進(jìn)行讀取,減少讀取的數(shù)據(jù)量。
另一方面,從小型化、小規(guī)格部署能力來看,OceanBase 4.0為了實(shí)現(xiàn)單機(jī)分布式一體化,創(chuàng)新地引入了“自適應(yīng)日志流”技術(shù)。所謂“自適應(yīng)日志流”技術(shù),是一種融合了服務(wù)器級靜態(tài)日志流(典型代表如 MySQL、PostgreSQL)與分區(qū)級靜態(tài)日志流(典型代表如 CockroachDB)的方案:當(dāng)系統(tǒng)處于穩(wěn)定狀態(tài)時,每臺服務(wù)器的日志流數(shù)量是固定的,但發(fā)生遷移時這個對應(yīng)關(guān)系會改變,支持將一個分區(qū)從一個日志流遷移到另外一個日志流,從而實(shí)現(xiàn)在線水平擴(kuò)展。
由此帶來的好處是,它實(shí)現(xiàn)了在線水平擴(kuò)展的同時不增加分布式相關(guān)overhead,從而能夠像集中式數(shù)據(jù)庫一樣部署在小規(guī)格的服務(wù)器上,做到單節(jié)點(diǎn)性能達(dá)到甚至超越集中式數(shù)據(jù)庫的水平??梢钥吹?,OceanBase社區(qū)版4.0同樣也能支持超大事務(wù)、RTO 時間降低到 8s 以內(nèi)、NTP 服務(wù)依賴優(yōu)化、支持分區(qū)數(shù)量能力上限等版本基礎(chǔ)核心能力的構(gòu)建,這也意味著 OceanBase 4.0 突破了分布式數(shù)據(jù)庫的邊界,讓分布式數(shù)據(jù)庫向通用性數(shù)據(jù)庫又邁進(jìn)了一步,即使是普通的個人電腦也可以流暢運(yùn)行OceanBase社區(qū)版4.0,真正讓分布式數(shù)據(jù)庫真正做到“觸手可及”。
不難看出,無論是初創(chuàng)企業(yè),到中小規(guī)模用戶再到大型企業(yè)用戶;無論是單機(jī)還是分布式多機(jī);無論是OLTP核心業(yè)務(wù)場景還是OLAP實(shí)時分析業(yè)務(wù)場景,OceanBase社區(qū)版4.0基于全新的“單機(jī)分布式一體化的架構(gòu)”,以“一站式”的方式解決了各類企業(yè)各類數(shù)據(jù)的管理需求,不僅讓眾多的企業(yè)有了更好的數(shù)據(jù)庫選擇,同時其架構(gòu)獨(dú)特性和技術(shù)原創(chuàng)性更實(shí)現(xiàn)了對整個市場的創(chuàng)新和引領(lǐng)。
以簡馭繁
值得一提的是,OceanBase社區(qū)版4.0還在“用起來”和“用得好”兩個維度進(jìn)行了迭代和優(yōu)化,真正幫助企業(yè)和開發(fā)者以更低的成本,更好的運(yùn)維方式實(shí)現(xiàn)對數(shù)據(jù)庫的“以簡馭繁”。

所謂“用起來”,指的是在今年的云棲大會現(xiàn)場,全托管的OceanBase Cloud 4.0也正式開放“邀測”。4.0公有云支持小規(guī)格,從4C16G到62C400G提供更多規(guī)格選擇,同時也大幅提升可觀測性,讓運(yùn)維更簡單,更低成本更強(qiáng)性能幫助客戶云上創(chuàng)新“降本增效”。
據(jù)了解,OceanBase Cloud擁有 OceanBase 100% 的能力,可以讓更多中小企業(yè)在云上更便捷、更低成本地?fù)碛懈咝阅軘?shù)據(jù)庫,同樣也最快僅需幾分鐘即可在云上完成數(shù)據(jù)庫設(shè)置,它的優(yōu)勢主要體現(xiàn)在:
首當(dāng)其沖的就是具備極高的性價比,OceanBase Cloud的多租戶能力,能將企業(yè)多個傳統(tǒng)集中式數(shù)據(jù)庫實(shí)例整合至一套或少量OceanBase集群,最大化提升資源利用率;在高彈性方面,OceanBase Cloud利用OceanBase自身的透明可擴(kuò)展、透明分布式能力,并結(jié)合云上資源易獲得的特點(diǎn),打造出了高彈性的解決方案;此外,支持跨云架構(gòu)的“統(tǒng)一”,OceanBase Cloud也是真正可以運(yùn)行在多云上的跨云原生分布式數(shù)據(jù)庫,可以幫助企業(yè)從容地實(shí)現(xiàn)跨云的數(shù)據(jù)搬遷、跨云的數(shù)據(jù)容災(zāi)等能力,總之OceanBase Cloud 4.0能夠讓企業(yè)只需一次選擇,便可“終身受用”。
而“用得好”,除了前文所述的OceanBase社區(qū)版4.0在“易用性”上做了全面的優(yōu)化之外,在運(yùn)維方面同樣也實(shí)現(xiàn)了全新的迭代和升級,包括支持全鏈路追蹤,支持 SESSION 狀態(tài)的監(jiān)控和診斷(ASH),標(biāo)準(zhǔn)化視圖優(yōu)化,支持 Schema History 回收功能,支持自動清空回收站功能等等。
以全鏈路追蹤為例,OceanBase社區(qū)版4.0設(shè)計(jì)了一套全鏈路追蹤的機(jī)制,能夠提升全鏈路問題定位的效率,貫穿從業(yè)務(wù) APP>客戶端驅(qū)動(JDBC, OCI)>代理(OBProxy>數(shù)據(jù)庫節(jié)點(diǎn)(OBServer)到全部流程,能夠有效的幫助運(yùn)維人員降低運(yùn)維難度,更好的駕馭全鏈路OceanBase數(shù)據(jù)庫。
總的來說,“魔鬼都在細(xì)節(jié)里”,從OceanBase社區(qū)版4.0的這些技術(shù)創(chuàng)新之中,可以看到OceanBase社區(qū)版4.0真正極大地降低了用戶使用和運(yùn)維分布式數(shù)據(jù)庫的門檻,其釋放出來的價值在今天也顯得格外的重要——無論是從短線看幫助中國企業(yè)從容化解數(shù)字化轉(zhuǎn)型中的“挑戰(zhàn)”;中線看國內(nèi)基礎(chǔ)軟件行業(yè)堅(jiān)持自主創(chuàng)新,實(shí)現(xiàn)國產(chǎn)化“替代”的必要性;以及長線看中國數(shù)字經(jīng)濟(jì)崛起的大趨勢,在這背后都需要更多的中國基礎(chǔ)軟件廠商有所當(dāng)擔(dān)和作為。
而作為業(yè)內(nèi)首個單機(jī)分布式一體化數(shù)據(jù)庫,OceanBase社區(qū)版4.0中所呈現(xiàn)的“以快打慢”、“以小見大”、“以簡馭繁”等等強(qiáng)大的能力,相信在未來都可以更好地推動中國企業(yè)的數(shù)字化轉(zhuǎn)型,并引領(lǐng)和驅(qū)動整個中國數(shù)據(jù)庫乃至基礎(chǔ)軟件行業(yè)能夠更上層樓,其價值也可以總結(jié)為:“不止于眼下,更關(guān)乎未來”。