火山引擎ByteHouse發(fā)布白皮書(shū) 揭秘企業(yè)級(jí)ClickHouse優(yōu)化與改進(jìn)過(guò)程
ClickHouse 開(kāi)源于 2016 年,憑借性能方面的突出優(yōu)勢(shì),在分析型數(shù)據(jù)庫(kù)領(lǐng)域發(fā)展可謂風(fēng)生水起。目前,國(guó)內(nèi)外許多頭部大廠都在深度使用 ClickHouse 技術(shù)。
作為 ClickHouse 深度用戶,字節(jié)跳動(dòng)擁有國(guó)內(nèi)規(guī)模最大的 ClickHouse 集群。目前,字節(jié)跳動(dòng)數(shù)據(jù)節(jié)點(diǎn)總數(shù)超過(guò)1.8萬(wàn)個(gè),管理總數(shù)據(jù)量超過(guò) 700PB,最大的單個(gè)集群部署規(guī)模約為2400余個(gè)節(jié)點(diǎn)。
《從ClickHouse到ByteHouse》白皮書(shū)客觀分析了當(dāng)前 ClickHouse 作為一款優(yōu)秀的開(kāi)源 OLAP 數(shù)據(jù)庫(kù)所展示出來(lái)的技術(shù)性能特點(diǎn)與其典型的應(yīng)用場(chǎng)景。
但是將 ClickHouse 引入企業(yè)級(jí)生產(chǎn)環(huán)境中,仍然存在許多實(shí)際問(wèn)題。這也是火山引擎ByteHouse團(tuán)隊(duì)撰寫(xiě)《從ClickHouse到ByteHouse》白皮書(shū)核心出發(fā)點(diǎn):深度還原字節(jié)跳動(dòng)在大規(guī)模引入 ClickHouse 于業(yè)務(wù)實(shí)際生產(chǎn)環(huán)境所遇到的問(wèn)題與解法,希望能給企業(yè)用戶帶來(lái)一些參考與啟發(fā)。
白皮書(shū)顯示,當(dāng)字節(jié)跳動(dòng)內(nèi)部有越來(lái)越多的場(chǎng)景逐步深入使用ClickHouse之后,字節(jié)跳動(dòng)也遇到了集群穩(wěn)定性、應(yīng)用場(chǎng)景使用限制等問(wèn)題。因此,字節(jié)跳動(dòng)對(duì)ClickHouse做了大量的深度優(yōu)化與自研改造的工作,慢慢沉淀出了ByteHouse。
《從ClickHouse到ByteHouse》白皮書(shū)重點(diǎn)介紹了, ByteHouse 在 ClickHouse 上所做的三個(gè)重要方面優(yōu)化與升級(jí):自研表引擎、查詢優(yōu)化器、彈性可擴(kuò)展。
在自研表引擎模塊,盡管ClickHouse 提供 MergeTree Family、Memory、File、Interface 等幾十種不同的表引擎,但是在字節(jié)內(nèi)部實(shí)際使用中,還是明顯感覺(jué)到了一些表引擎不足以滿足業(yè)務(wù)的使用需求,于是進(jìn)行了相應(yīng)的優(yōu)化。白皮書(shū)則重點(diǎn)介紹 HaMergeTree 、HaUniqueMergeTree、HaKafka 三種表引擎。
在查詢優(yōu)化器模塊,ByteHouse對(duì)Optimizer進(jìn)行了一年多的改造投入,全面升級(jí)產(chǎn)品能力。白皮書(shū)詳細(xì)列舉了ByteHouse在查詢優(yōu)化器上的改造與優(yōu)化功能。
為了追求極致性能,ClickHouse 采用的是計(jì)算和存儲(chǔ)節(jié)點(diǎn)強(qiáng)耦合的架構(gòu),不能根據(jù)各自實(shí)際需求分開(kāi)擴(kuò)容, 而且在節(jié)點(diǎn)擴(kuò)展后數(shù)據(jù)無(wú)法自動(dòng)重新分布的問(wèn)題給ClickHouse擴(kuò)展帶來(lái)很多運(yùn)維的麻煩。ByteHouse 在改進(jìn)與優(yōu)化ClickHouse的過(guò)程中,也重點(diǎn)基于該架構(gòu)進(jìn)行了調(diào)整。白皮書(shū)重點(diǎn)介紹了,ByteHouse 在存儲(chǔ)和計(jì)算上的拆解解耦,實(shí)現(xiàn)彈性可擴(kuò)展的技術(shù)優(yōu)化方案。
與此同時(shí),《從ClickHouse到ByteHouse》白皮書(shū)還重點(diǎn)列舉在廣告、金融、工業(yè)互聯(lián)網(wǎng)三大行業(yè)的實(shí)踐案例,這些都屬于 OLAP 的典型應(yīng)用行業(yè),并從技術(shù)與企業(yè)落地等角度給出了當(dāng)下企業(yè)在OLAP數(shù)據(jù)引擎選型的三個(gè)核心關(guān)注點(diǎn)。
目前,ByteHouse已通過(guò)火山引擎提供商業(yè)化服務(wù),為客戶帶來(lái)極致性能、架構(gòu)領(lǐng)先的企業(yè)級(jí)分析型數(shù)據(jù)庫(kù)服務(wù)與技術(shù)支持。