聚焦OLAP性能提升 火山引擎ByteHouse发布六大场景解决方案

文章正文
发布时间:2024-08-13 07:15

性能在数据分析中至关重要,它直接决定数据处理的效率与及时性,进一步对数据驱动的企业决策造成影响。

举个例子来看,某个大型电商公司每天产生海量的交易数据,数据分析团队需要通过这些数据了解客户的购买行为、热门商品、销售趋势等,来制定营销策略和优化运营。当分析团队获取过去一个月的销售数据报告时,由于数据量庞大,系统处理速度缓慢,需要几十分钟到几小时才能得出结果。而在某些促销活动期间,如果不能及时获取最新的销售数据来评估活动效果,就无法及时调整策略,错失营销机会。

随着数字化转型的深入,不仅仅是电商领域,各行业都需要基于实时数据做出关键决策。而对企业底层数据系统来说,在处理复杂的数据分析任务,如多维度的关联分析或数据挖掘时,可能出现延迟、崩溃、错误等问题,导致数据不准确、不完整、时效性差。

作为火山引擎推出的一款OLAP产品,ByteHouse具备原生的高性能优势,广泛应用于字节跳动和外部企业的数据分析场景。早在2022年2月,ByteHouse在字节跳动的部署规模已超1万8000台,单集群超2400台。针对数据分析中常见的实时吞吐慢、BI报表慢、在线/离线分析慢等情况,ByteHouse推出六大场景的性能提升方案,进一步提升OLAP性能,助力企业更快速、更准确实施决策。

[MD:Title]

第一,在实时吞吐的场景中,首先,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应用于互联网、游戏、金融、汽车、气象等领域,持续为企业提供极致的数据分析能力,助推数智化转型升级。