性能在數據分析中至關重要,它直接決定數據處理的效率與及時性,進一步對數據驅動的企業決策造成影響。
舉個例子來看,某個大型電商公司每天產生海量的交易數據,數據分析團隊需要通過這些數據了解客戶的購買行為、熱門商品、銷售趨勢等,來制定營銷策略和優化運營。當分析團隊獲取過去一個月的銷售數據報告時,由于數據量龐大,系統處理速度緩慢,需要幾十分鐘到幾小時才能得出結果。而在某些促銷活動期間,如果不能及時獲取最新的銷售數據來評估活動效果,就無法及時調整策略,錯失營銷機會。
隨著數字化轉型的深入,不僅僅是電商領域,各行業都需要基于實時數據做出關鍵決策。而對企業底層數據系統來說,在處理復雜的數據分析任務,如多維度的關聯分析或數據挖掘時,可能出現延遲、崩潰、錯誤等問題,導致數據不準確、不完整、時效性差。
作為火山引擎推出的一款OLAP產品,ByteHouse具備原生的高性能優勢,廣泛應用于字節跳動和外部企業的數據分析場景。早在2022年2月,ByteHouse在字節跳動的部署規模已超1萬8000臺,單集群超2400臺。針對數據分析中常見的實時吞吐慢、BI報表慢、在線/離線分析慢等情況,ByteHouse推出六大場景的性能提升方案,進一步提升OLAP性能,助力企業更快速、更準確實施決策。
第一,在實時吞吐的場景中,ByteHouse支持 Upsert的部分列更新能力,確保每秒百萬數據入庫前提下的落盤即更新。其次,基于自研uniqueMergeTree引擎,ByteHouse為數據寫入即去重提供性能保障,特別是滿足了 IoT 場景下的高性能訴求。此外,ByteHouse自研的 Flink Connector 能更好對接 Flink,為數據寫入建立更高效、流暢的通路。以某暢銷游戲公司的實踐舉例,該公司每秒需要寫入 220 萬條游戲平臺日志數據,相當于每秒寫入約 4GB 數據,而在ByteHouse的支持下,該公司的底層數據引擎能很好滿足以上訴求,且性能實現線性增長。
第二,在BI報表分析場景中,數據分析師、運營團隊等經常會遇到報表生成慢、指標平臺響應慢、管理駕駛艙顯示速度慢等問題。一方面,ByteHouse通過增強MV物化視圖和Projection功能,實現對復雜查詢、計算邏輯的預聚合,提升應用層的性能表現,另一方面基于Query Cache來緩存數據和復雜查詢中的結果集。在某娛樂型公司的應用實踐中,ByteHouse支撐該公司每天15億數據記錄,每秒6萬TPS峰值,使報表時效性從過去的 T+1 方式直接壓縮到分鐘級,甚至秒級。
第三,在在線、離線復雜分析場景中,ByteHouse則針對CBO、RBO等進行自研優化器增強。此外,對于Runtime Filter 這一對大關聯場景性能提升有關鍵影響的技術,ByteHouse自研分布式緩存能夠進一步解決分離架構帶來的性能損失問題。
第四,在湖倉聯邦分析場景中,ByteHouse基于 Native Reader 技術壓縮 IO 訪問路徑,提升外表訪問性能。通過進一步與優化器進行融合,ByteHouse能持續提高湖倉分析速度。
第五,在人群圈選與行為分析場景中,ByteHouse 具備 BitEngine/BitMap64/BitMap indexDe 等自研引擎和增強功能,通過與增長分析DataFinder、客戶數據平臺VeCDP等應用緊密結合,ByteHouse針對業務場景開發了大量內置分析函數,如留存分析、路徑分析等。即使在 10 億級的用戶圈選的場景下, P99 響應時間也能達到秒級到毫秒級。
第六,在以圖搜圖場景中,ByteHouse推出了Vector引擎,即向量檢索能力。通過支持多種向量檢索算法以及高效的執行鏈路,ByteHouse可以支撐極大規模向量檢索場景,達到毫秒級的查詢延遲。在某輿情監測企業的實踐中,行業相關產品的查詢效率在幾秒到十多秒之間,而優化后的ByteHouse只需150-200 毫秒內,就能從大規模數據中查找出近似的 1000 張圖片,并完成相似度評分。
在整體性能數據上,通過使用SSB、TPC-H 和 TPC-DS 三種數據集進行性能測試,并以性能著稱的某開源OLAP為基準測試產品,ByteHouse在不同查詢項上都有顯著的性能提升。以TPC-H 數據集舉例,在相同硬件和軟件環境下, ByteHouse 查詢效率高于本次基準測試產品幾十倍。
目前,ByteHouse應用于互聯網、游戲、金融、汽車、氣象等領域,持續為企業提供極致的數據分析能力,助推數智化轉型升級。