火山引擎發布ByteHouse性能白皮書,揭秘OLAP性能突破的關鍵技術
更多技術交流、求職機會,歡迎關注字節跳動數據平臺微信公眾號,回復【1】進入官方交流群
日前,火山引擎正式發布《云原生數據倉庫ByteHouse性能白皮書》,白皮書通過使用 SSB 100G、TPC-H 100G、TPC-DS 100G 數據集進行性能測試,展示出 ByteHouse 在查詢效率方面的顯著成果,并詳細介紹ByteHouse在實時數倉、復雜查詢等八大應用場景的高性能應用表現。
在數據處理和分析的領域,提升查詢效率始終是一項關鍵挑戰。對于 OLAP 來說,性能的關鍵需求在于能支持實時分析,應對復雜查詢,提供快速響應,并具備良好的可擴展性。這些方面,對于滿足高效、準確的數據分析需求至關重要。
作為一款OLAP引擎,伴隨字節跳動各業務的發展,ByteHouse已經過數百個應用場景和數萬用戶錘煉,部署規模已超過1萬8000臺,最大的集群規模在 2400 余個節點,管理總數據量超過700PB,并逐步在外部金融、泛互等場景應用和推廣。為了更好支持字節內外部大規模數據和復雜場景應用,性能一直以來是ByteHouse重點打磨的產品基本功。
SSB、TPC-H 和 TPC-DS 是常用于測試分析型數據庫/數據倉庫的數據集。在白皮書中,通過使用以上三種數據集進行性能測試,并以性能著稱的某開源OLAP為基準測試產品,ByteHouse在不同查詢項上都有顯著的性能提升。以TPC-H 數據集舉例,在相同硬件和軟件環境下, ByteHouse 查詢效率高于本次基準測試產品幾十倍。

那么,ByteHouse高性能究竟是如何做到的?在白皮書發布會現場,ByteHouse技術專家從復雜查詢和寬表查詢兩個方面,深度介紹ByteHouse性能提升的相關經驗。在復雜查詢上,ByteHouse解決了ClickHouse缺少優化器支持的問題,從RBO(基于規則的優化能力)、CBO(基于代價的優化能力)、分布式計劃生成方面推出了自研優化器,能夠準確的計算出效率最大化執行路徑,大幅度降低用戶查詢時間。除此之外,ByteHouse還從Exchange、Runtime Filter以及并行化重構等方向進行了優化。以Runtime Filter舉例,在 OLAP 場景中,Join 是制約查詢性能進一步突破的瓶頸,ByteHouse 則支持根據不同的場景生成最優的 RuntimeFilter,優化了生成和 Apply 的流程,同時支持 Distributed 和 Local 的 RuntimeFilter,在較大規模集群上也自適應的支持 Shuffle-Aware 的 RuntimeFilter。
在寬表查詢上,ByteHouse主要通過全局字典、Zero copy以及UncompressedCache 來進行性能提升。首先,全局字典主要通過編碼方式將變長字符串轉化為定長數值,針對 Agg、Function和Exchange算子可以直接進行編碼值的計算,以此提升計算效率。其次,ByteHouse通過zero copy來優化內存墻,減少數據傳輸過程中引發的深拷貝開銷,提升內存帶寬在真正計算上的使用效率。最后,針對單節點上多線程并發引發的鎖競爭現象,ByteHouse主要通過優化UncompressedCache確保性能效果。
高并發點查也是本次白皮書發布會介紹的重點能力。在某些企業的銷售系統場景中,不同部門的員工可能同時發起多個查詢請求,例如查詢某個門店在特定時間段的銷售額、某個商品在不同地區的銷售情況等。如果OLAP系統的高并發點查能力不足,就會存在響應時間慢等情況,在技術層面則體現為索引計算繁重、點查讀放大嚴重、執行鏈路冗長、鎖競爭激烈等問題,ByteHouse通過采用短鏈路的執行方式、建立unique table 點查索引、提升讀鏈路效率等方式進行優化,在某游戲公司的廣告推薦業務上,僅僅 256 Core 的算力,即可支持 10萬+QPS 。
除此之外,白皮書還從實時數倉、復雜查詢、寬表查詢、人群圈選、行為分析等八大場景介紹了ByteHouse高性能的應用落地。其中,在人群圈選場景中,ByteHouse可以滿足大規模數據的分析和查詢需求,并具有一套用于解決集合的交并補計算的定制模型BitEngine,該模型能解決實時分析場景中的性能提升問題。相比于普通和Array或者用戶表方式,BitEngine在查詢速度上有10-50倍提升,解決了人群圈選中誤差大、實時性不強以及存儲成本高的痛點。
通過一系列技術優化手段,ByteHouse實現性能進一步提升,縮短查詢執行時間、優化資源利用,能應對更復雜的查詢場景,為用戶提供更流程的數據分析體驗。不僅僅是探索性能突破,ByteHouse也在持續拓展產品一體化、易用性、生態兼容性,為業務帶來更多的價值,推動各行各業數字化轉型。
點擊跳轉火山引擎ByteHouse了解更多

浙公網安備 33010602011771號