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