700PB数据的数仓依然“快稳省”!ByteHouse这本白皮书揭秘关键

B站影视 2024-12-13 11:04 2

摘要:在数字经济蓬勃发展的今天,企业面临着数据量爆炸性增长、数据分析需求日益复杂的双重挑战。传统的数据仓库解决方案已经难以满足企业对数据处理速度和灵活性的高要求。为了应对这些挑战,火山引擎于2021年正式推出ByteHouse——专为云原生环境设计的高性能数据仓库产

12月10日,《火山引擎ByteHouse云数仓产品白皮书》在线上发布。

在数字经济蓬勃发展的今天,企业面临着数据量爆炸性增长、数据分析需求日益复杂的双重挑战。传统的数据仓库解决方案已经难以满足企业对数据处理速度和灵活性的高要求。为了应对这些挑战,火山引擎于2021年正式推出ByteHouse——专为云原生环境设计的高性能数据仓库产品。早在2022年初,ByteHouse在抖音集团内部的部署规模已超过1万8000台,最大的集群规模在 2400 余个节点,管理总数据量超过700PB,并且依然在不断增长,对外也经过游戏、汽车、泛互联网等众多行业,数百个应用场景和数万用户锤炼,

本次发布《火山引擎ByteHouse云数仓产品白皮书》从设计理念、产品架构、核心能力、场景优势等多维度介绍ByteHouse在OLAP领域的产品和技术先进性,以及如何实现高性能、高稳定、高安全。不仅仅聚焦OLAP领域,通过集成向量检索、全文检索、GIS等功能,ByteHouse持续拓展能力边界,并建设涵盖集成、开发、应用的上下游生态。除此之外,基于SSB 和 TPC-DS 标准测试集,白皮书也公开了ByteHouse在OLAP、ELT等场景下的最新性能成果。在应用场景方面,白皮书则从OLAP中台建设、行为分析、车联网IoT三个场景为企业提供数据分析最佳实践参考。

据介绍,ByteHouse云数仓版具备“快”“稳”“省”三个核心特点,不仅能保障高效处理海量数据,即时响应复杂查询,还能降低多系统的各种冗余和复杂度,提升整体稳定性,并实现资源、运维成本最优。

在数据处理和分析的领域,提升查询效率始终是一项关键挑战。在选择OLAP引擎时,性能是重要衡量因素。高性能的OLAP具有快速的数据处理能力,并缩短响应时间,提供更好的用户体验,使数据分析和查询更加流畅和便捷。

SSB 和 TPC-DS 是常用于测试分析型数据库/数据仓库的数据集,被广泛应用于数据仓库领域。在白皮书中,通过采用以上数据集,ByteHouse展示了OLAP、ELT、湖仓一体场景中,与行业同类产品相比的性能表现。

在OLAP场景中,以TPC-DS数据集测试为例,通过将模拟生成的 1000G 数据导入测试产品,在 99 个查询中,ByteHouse 对比行业某主流开源产品D*,整体查询性能达到该产品 1.16 倍。在ELT场景中,BSP模式下ByteHouse 对比某主流开源产品 S* ,整体查询性能达到该产品 6.05 倍。在湖仓一体场景中,ByteHouse 对比开源产品 S*,Hive Parquet外表查询(冷读),整体查询性能达到该产品 1.18 倍。

TPC-DS 1TiB: ByteHouse云数仓(2.2) 228s, 开源产品D(2.1.1) 264s,超越16%

除此之外,在Vector及GIS分析场景中,ByteHouse对比行业同类产品也有明显性能优势。这意味着,ByteHouse让企业在享受极致性能的同时,无需引入其他架构,就能使用文字检索、地理空间分析、向量检索能力。企业只需用一套架构就能满足多元化分析需求,节省企业资源人力成本,提升数据效能。

ByteHouse技术专家高大月也在发布会上揭秘了性能提升的关键技术。在OLAP性能提升方面,ByteHouse从RBO(基于规则的优化能力)、CBO(基于代价的优化能力)、分布式计划生成方面推出了自研优化器,能够准确的计算出效率最大化执行路径,大幅度降低用户查询时间。同时,ByteHouse也通过高并发点查解决索引计算繁重、点查读放大严重、执行链路冗长、锁竞争激烈等问题,进一步提升数据处理效率。

数据在加载进入数据仓库之前,往往要经过复杂的数据清洗和转换过程,由此需要引入外部引擎,导致架构相对复杂,而ByteHouse全面支持Extract-Load-Transform (ELT)的能力,把数据加工的过程转移到ByteHouse内部,用户只需将数据导入,用自定义SQL语句进行数据转换,降低多系统的各种冗余和复杂度,提升用户体验,并进一步增长了系统稳定性。

据介绍,为了简化数据链路、提升任务并行度,ByteHouse在传统的MPP调度模型之外,新增了BSP调度模型(Bulk Synchronous Parallel),通过各个stage逐层调度、数据写盘,使得每个阶段和任务都更加独立,降低了任务失败的概率,并提高了资源使用的效率。除此之外,ByteHouse还在离线任务加工中的任务级重试功能,当作业的某个任务失败时,无需整个作业重新执行,仅重试失败任务,显著降低了重试的成本,提升了作业的成功率。针对业务数据频繁更新的特点,ByteHouse对写入流程进行了大量优化。通过并行化最耗时的数据写入部分,并在写入过程中标记需要后续去重作业的数据,实现高效的数据更新。

ByteHouse技术专家游致远以某数字娱乐公司举例,该公司通过引入ByteHouse来构建一体化数仓,从2024年10月15日、16日、17日数据来看,任务的成功率在分别提高了6.6%、4.4%和2.9%,整体成功率为100%。通过对关键大表增加并行度,该公司的离线任务整体内存峰值降低了约40%,有效减少了内存溢出的风险,整体提升了数据处理的实时性和稳定性。

当下企业的业务流量往往具有很大的不确定性。例如,电商平台在 “618”“双 11” 等促销活动期间,访问量会呈爆发式增长,可能是平时的十倍甚至百倍,导致系统无法承载如此高负载而崩溃。这就要求底层数据库具备“弹性”机制,能根据流量情况自动伸缩资源,在满足业务波峰需求同时节省成本。

而弹性正是云原生架构的核心特性。ByteHouse云原生弹性能力允许企业根据实际需求动态调整资源,只在需要的时候分配资源,实现随开随用,不使用时自动暂停,暂停期间不收取任何计算层费用,从而降低了成本。

ByteHouse自动启停策略,帮助用户成本节约20%+

在白皮书发布会上,ByteHouse产品经理孔柏林介绍到,在存储层面, ByteHouse采用 Serverless 架构,具有低成本、无限扩展的能力。在计算层面,ByteHouse则基于PaaS 模式,通过容器化实现无状态或弱状态,将整个计算组包装成租户和应用呈现给用户,保证租户之间不会发生资源征用冲突或性能劣化,让计算资源在秒级内实现弹性拉起和弹性扩缩容。正是由于采用计算资源采用PaaS 方式,ByteHouse能让用户有效避免不规范 SQL 造成的过多资源消耗,且计价模式采用资源用量(CPU)方式,确保用户对账单可预期。

以中国某知名游戏厂商为例,该厂商基于ByteHouse构建了一体化实时数仓平台,具备实时数据接入、实时 ETL 数据加工、实时维表关联和实时数据服务等能力,不仅能支持20万+QPS高并发点查,性能提高2倍以上,在资源用量上,比之前架构减少了30%成本。

来源:站长之家一点号

相关推荐