兒童節(jié)OceanBase宣布開源,開源世界又多了一個小伙伴兒。之前也有聽聞Oc..."/>
ITBear旗下自媒體矩陣:

OceanBase開源版與TiDB對比測試報告

   時間:2021-06-11 16:26:47 來源:CSDN編輯:星輝 發(fā)表評論無障礙通道

北京it爺們兒老賈

兒童節(jié)OceanBase宣布開源,開源世界又多了一個小伙伴兒。之前也有聽聞OceanBase TPC-H 打榜的消息,很震撼,也很想親自動手跑一下結(jié)果驗(yàn)證一下。隨著OceanBase的開源,身邊的朋友也一直跟我打聽OB 與 TiDB 的差異。其實(shí)從架構(gòu)設(shè)計(jì)到功能再到性能,這兩款主流的分布式數(shù)據(jù)庫還是有不少的差異,由于精力有限,今天先從 TPC-H 性能的角度入手做個對比測試。

  • OceanBase 測試環(huán)境
  • 版本:OceanBase V3.1.0
  • 硬件配置:

  • 數(shù)據(jù)量:
  •    開始時使用 100G 數(shù)據(jù),遇到疑似數(shù)據(jù)損壞 OB 集群無法啟動的情況:
  1. Q4 長時間執(zhí)行導(dǎo)致一個 OBServer 進(jìn)程退出,重啟集群無法恢復(fù)。 日志如下:

 

2.導(dǎo)入 100GB 數(shù)據(jù)之后做冷備份,啟動集群報內(nèi)存不足的錯誤,清理 Linux 系統(tǒng) page cache 之后依然無法啟動。

  • 翻閱 OB 官網(wǎng)發(fā)現(xiàn)有 10G 數(shù)據(jù)的 benchmark,最后決定采用 10G 數(shù)據(jù),正好與官網(wǎng)披露的性能做個對比。(OB 官網(wǎng) 10G 數(shù)據(jù) TPC-H 性能測試報告鏈接)
  • 測試方法:調(diào)用 obclient 或者 MySQL 客戶端執(zhí)行 TPC-H 的 22條 查詢語句, 一共跑兩輪,第一輪為預(yù)熱,采用第二輪的數(shù)據(jù)作為測試結(jié)果。

 

上圖從 22 個 SQL 執(zhí)行所花費(fèi)的時間來看,這輪測試的結(jié)果明顯優(yōu)于 OB 官網(wǎng)發(fā)布的 benchmark,接近一半的指標(biāo)都有 50% 左右的提升。OB 官網(wǎng)的測試采用了阿里云的 ECS,這次測試的硬件配置更勝一籌,跑出這樣的結(jié)果也是有些小驚喜。

作為同樣業(yè)界聞名的分布式HTAP數(shù)據(jù)庫TiDB的性能表現(xiàn)如何呢?好奇心驅(qū)使下決定折騰一下TiDB 的 TiFlash 列存引擎用同樣的硬件配置和數(shù)據(jù)量來測一下 TiDB 的 TPC-H 指標(biāo)。

TiDB 測試環(huán)境

  • 版本: v5.0.1(支持 MPP)
  • 硬件復(fù)用 OB 測試所用的四臺服務(wù)器,其中三臺部署為 TiFlash 節(jié)點(diǎn),另外一臺混合部署 PD、TiDB 和 TiKV。
  • 數(shù)據(jù)量和測試方法與 OB 測試相同。

 

從上圖的測試數(shù)據(jù)來看:TiDB TiFlash 啟動 MPP 的情況下,所有 22 個 SQL 查詢的響應(yīng)時間都要好于OB ,所有 TPC-H 指標(biāo)的性能都在 OB 的兩倍以上,其中 query 7 更是達(dá)到了將近 10 倍。

總結(jié)和思考

  • 沒有對比就沒有傷害,OB 開源版本的 OLAP 性能和TiDB 的 列存引擎對比起來還有不足

從這次測試的結(jié)果看,目前開源的 V3.1.0 版本 TPC-H 性能各項(xiàng)指標(biāo)均不如 TiDB,個人猜想原因可能有二:開源版本與打榜 TPC-H 的版本可能存在一定的差異性;調(diào)優(yōu)方面也許專業(yè)的OB DBA會有一些方法我們不知道。企業(yè)版沒玩兒過,咱不妄加評論。

  • 測試過程的體驗(yàn)不太順暢

第一次下載和部署 OB,整個測試體驗(yàn)的過程不太流暢。一方面,頭一次部署工具的熟悉程度不夠,也從側(cè)面說明部署工具的導(dǎo)航性有待加強(qiáng);另一方面,過程中遇到問題,也無法找到相應(yīng)的官方文檔進(jìn)行調(diào)優(yōu)。

  • 使用TPC-C/TPC-H 評估 HTAP并不恰當(dāng),難免偏頗

這次測試用到的 TPC-H 通常被用來衡量 OLAP 的性能,目前分布式數(shù)據(jù)庫領(lǐng)域,大家都在熱議的 HTAP(同時跑 OLTP 和 OLAP 的混合負(fù)載),顯然不能用單一的 TPC-C 或者 TPC-H 指標(biāo)來衡量。

CH-benCHmark 是目前學(xué)術(shù)界廣泛用來評估混合負(fù)載的基準(zhǔn)測試模型。(CHbenCHmark官網(wǎng) )計(jì)劃下次有時間,設(shè)計(jì)一個混合負(fù)載的場景,用 CH-benCHmark 來對比一下 OB 和 TiDB 在 HTAP 場景下真實(shí)的性能表現(xiàn)。

后記

筆者是個多年混跡DB圈兒的老家伙,6年職業(yè)DBA,從業(yè)20年大部分工作是與數(shù)據(jù)和數(shù)據(jù)庫打交道。老實(shí)說認(rèn)識 OceanBase 比 TiDB 要早,OceanBase 第一次開源的時候我還在一家傳統(tǒng)軟件公司為金融行業(yè)客戶提供解決方案。本想試一下這個傳說中的神器,由于項(xiàng)目原因一直沒時間,結(jié)果等有工夫的時候,OceanBase 從 github 上消失了。好像一個大家閨秀,驚鴻一瞥后又深藏閨中。所以這次一開源便盡早入手測試,頗有一種再遇女神趕緊搭訕的感覺,希望這次她能在俗世間呆的久一些。測試期間時不時出些小狀況,給人的感覺是這姑娘系出名門,標(biāo)志的很,不過性格好像不太好,時不時爆出點(diǎn)兒“error”,不過這也許是因?yàn)槌醮谓佑|了解不夠所致。至于本次測試報告,各位看官可以看做是專業(yè)票友的一次玩兒票,專業(yè)但不權(quán)威。數(shù)字是冷冰冰的,我更想談?wù)勎覍B和Tidb的一些主觀感受。其實(shí) OceanBase 這次開源讓我想起了操作系統(tǒng)軟件中的兩個明星產(chǎn)品 Solaris 和 Linux。產(chǎn)品的先發(fā)優(yōu)勢由技術(shù)先發(fā)優(yōu)勢和市場先發(fā)優(yōu)勢組成。在200X年 Solaris 無疑具備技術(shù)先發(fā)優(yōu)勢和商業(yè)市場先發(fā)優(yōu)勢,但是在開源市場Linux先發(fā)優(yōu)勢和社區(qū)活躍度已根深蒂固。再來聊聊 OceanBase 和 TiDB 的開發(fā)技術(shù)棧。OB的技術(shù)棧是C++,TiDB的技術(shù)棧是 golang 和 rust,從我個人來講更喜歡后者。除去各種語言特性以及開發(fā)效率和運(yùn)行效率的權(quán)衡以外,新生語言更讓人有探索的欲望。其實(shí)兩個同領(lǐng)域的技術(shù)更喜歡哪一個是個很主觀的問題。Oracle是當(dāng)之無愧的數(shù)據(jù)庫王者,我想這一點(diǎn)沒人反對,隨著開源軟件的發(fā)展,陸續(xù)冒出來各種類型的數(shù)據(jù)庫,不過這么多年過去了,你大爺還是你大爺。但是為啥國內(nèi)一直嚷嚷著去O?除去中美關(guān)系和經(jīng)濟(jì)因素不談,有時候僅僅就是因?yàn)閷徝榔诹?。開源社區(qū)里的NewSql玩兒家多了是好事兒,但貴在堅(jiān)持。

舉報 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報  |  開放轉(zhuǎn)載  |  滾動資訊  |  English Version