性能在數(shù)據(jù)分析中至關(guān)重要,它直接決定數(shù)據(jù)處理的效率與及時(shí)性,進(jìn)一步對(duì)數(shù)據(jù)驅(qū)動(dòng)的企業(yè)決策造成影響。
舉個(gè)例子來看,某個(gè)大型電商公司每天產(chǎn)生海量的交易數(shù)據(jù),數(shù)據(jù)分析團(tuán)隊(duì)需要通過這些數(shù)據(jù)了解客戶的購買行為、熱門商品、銷售趨勢(shì)等,來制定營(yíng)銷策略和優(yōu)化運(yùn)營(yíng)。當(dāng)分析團(tuán)隊(duì)獲取過去一個(gè)月的銷售數(shù)據(jù)報(bào)告時(shí),由于數(shù)據(jù)量龐大,系統(tǒng)處理速度緩慢,需要幾十分鐘到幾小時(shí)才能得出結(jié)果。而在某些促銷活動(dòng)期間,如果不能及時(shí)獲取最新的銷售數(shù)據(jù)來評(píng)估活動(dòng)效果,就無法及時(shí)調(diào)整策略,錯(cuò)失營(yíng)銷機(jī)會(huì)。
隨著數(shù)字化轉(zhuǎn)型的深入,不僅僅是電商領(lǐng)域,各行業(yè)都需要基于實(shí)時(shí)數(shù)據(jù)做出關(guān)鍵決策。而對(duì)企業(yè)底層數(shù)據(jù)系統(tǒng)來說,在處理復(fù)雜的數(shù)據(jù)分析任務(wù),如多維度的關(guān)聯(lián)分析或數(shù)據(jù)挖掘時(shí),可能出現(xiàn)延遲、崩潰、錯(cuò)誤等問題,導(dǎo)致數(shù)據(jù)不準(zhǔn)確、不完整、時(shí)效性差。
作為火山引擎推出的一款OLAP產(chǎn)品,ByteHouse具備原生的高性能優(yōu)勢(shì),廣泛應(yīng)用于字節(jié)跳動(dòng)和外部企業(yè)的數(shù)據(jù)分析場(chǎng)景。早在2022年2月,ByteHouse在字節(jié)跳動(dòng)的部署規(guī)模已超1萬8000臺(tái),單集群超2400臺(tái)。針對(duì)數(shù)據(jù)分析中常見的實(shí)時(shí)吞吐慢、BI報(bào)表慢、在線/離線分析慢等情況,ByteHouse推出六大場(chǎng)景的性能提升方案,進(jìn)一步提升OLAP性能,助力企業(yè)更快速、更準(zhǔn)確實(shí)施決策。

第一,在實(shí)時(shí)吞吐的場(chǎng)景中,ByteHouse支持 Upsert的部分列更新能力,確保每秒百萬數(shù)據(jù)入庫前提下的落盤即更新。其次,基于自研uniqueMergeTree引擎,ByteHouse為數(shù)據(jù)寫入即去重提供性能保障,特別是滿足了 IoT 場(chǎng)景下的高性能訴求。此外,ByteHouse自研的 Flink Connector 能更好對(duì)接 Flink,為數(shù)據(jù)寫入建立更高效、流暢的通路。以某暢銷游戲公司的實(shí)踐舉例,該公司每秒需要寫入 220 萬條游戲平臺(tái)日志數(shù)據(jù),相當(dāng)于每秒寫入約 4GB 數(shù)據(jù),而在ByteHouse的支持下,該公司的底層數(shù)據(jù)引擎能很好滿足以上訴求,且性能實(shí)現(xiàn)線性增長(zhǎng)。
第二,在BI報(bào)表分析場(chǎng)景中,數(shù)據(jù)分析師、運(yùn)營(yíng)團(tuán)隊(duì)等經(jīng)常會(huì)遇到報(bào)表生成慢、指標(biāo)平臺(tái)響應(yīng)慢、管理駕駛艙顯示速度慢等問題。一方面,ByteHouse通過增強(qiáng)MV物化視圖和Projection功能,實(shí)現(xiàn)對(duì)復(fù)雜查詢、計(jì)算邏輯的預(yù)聚合,提升應(yīng)用層的性能表現(xiàn),另一方面基于Query Cache來緩存數(shù)據(jù)和復(fù)雜查詢中的結(jié)果集。在某娛樂型公司的應(yīng)用實(shí)踐中,ByteHouse支撐該公司每天15億數(shù)據(jù)記錄,每秒6萬TPS峰值,使報(bào)表時(shí)效性從過去的 T+1 方式直接壓縮到分鐘級(jí),甚至秒級(jí)。
第三,在在線、離線復(fù)雜分析場(chǎng)景中,ByteHouse則針對(duì)CBO、RBO等進(jìn)行自研優(yōu)化器增強(qiáng)。此外,對(duì)于Runtime Filter 這一對(duì)大關(guān)聯(lián)場(chǎng)景性能提升有關(guān)鍵影響的技術(shù),ByteHouse自研分布式緩存能夠進(jìn)一步解決分離架構(gòu)帶來的性能損失問題。
第四,在湖倉聯(lián)邦分析場(chǎng)景中,ByteHouse基于 Native Reader 技術(shù)壓縮 IO 訪問路徑,提升外表訪問性能。通過進(jìn)一步與優(yōu)化器進(jìn)行融合,ByteHouse能持續(xù)提高湖倉分析速度。
第五,在人群圈選與行為分析場(chǎng)景中,ByteHouse 具備 BitEngine/BitMap64/BitMap indexDe 等自研引擎和增強(qiáng)功能,通過與增長(zhǎng)分析DataFinder、客戶數(shù)據(jù)平臺(tái)VeCDP等應(yīng)用緊密結(jié)合,ByteHouse針對(duì)業(yè)務(wù)場(chǎng)景開發(fā)了大量?jī)?nèi)置分析函數(shù),如留存分析、路徑分析等。即使在 10 億級(jí)的用戶圈選的場(chǎng)景下, P99 響應(yīng)時(shí)間也能達(dá)到秒級(jí)到毫秒級(jí)。
第六,在以圖搜圖場(chǎng)景中,ByteHouse推出了Vector引擎,即向量檢索能力。通過支持多種向量檢索算法以及高效的執(zhí)行鏈路,ByteHouse可以支撐極大規(guī)模向量檢索場(chǎng)景,達(dá)到毫秒級(jí)的查詢延遲。在某輿情監(jiān)測(cè)企業(yè)的實(shí)踐中,行業(yè)相關(guān)產(chǎn)品的查詢效率在幾秒到十多秒之間,而優(yōu)化后的ByteHouse只需150-200 毫秒內(nèi),就能從大規(guī)模數(shù)據(jù)中查找出近似的 1000 張圖片,并完成相似度評(píng)分。
在整體性能數(shù)據(jù)上,通過使用SSB、TPC-H 和 TPC-DS 三種數(shù)據(jù)集進(jìn)行性能測(cè)試,并以性能著稱的某開源OLAP為基準(zhǔn)測(cè)試產(chǎn)品,ByteHouse在不同查詢項(xiàng)上都有顯著的性能提升。以TPC-H 數(shù)據(jù)集舉例,在相同硬件和軟件環(huán)境下, ByteHouse 查詢效率高于本次基準(zhǔn)測(cè)試產(chǎn)品幾十倍。
目前,ByteHouse應(yīng)用于互聯(lián)網(wǎng)、游戲、金融、汽車、氣象等領(lǐng)域,持續(xù)為企業(yè)提供極致的數(shù)據(jù)分析能力,助推數(shù)智化轉(zhuǎn)型升級(jí)。