火山引擎发布 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了解更多
版权声明: 本文为 InfoQ 作者【字节跳动数据平台】的原创文章。
原文链接:【http://xie.infoq.cn/article/94e29101f7da2e50cd88856c5】。文章转载请联系作者。
评论