ByteHouse 是火山引擎自主研发的数据仓库产品,提供海量数据上更强的查询服务和数据写入性能,应用包括海量数据多维分析、机器学习模型评估、微服务监控和统计等。
ByteHouse 基于字节的丰富场景,以及OLAP业界的痛点进行了一系列性能优化。这些改进旨在缩短查询执行时间、优化资源利用,提供更流畅的数据分析体验。通过智能优化算法和先进的执行技术,ByteHouse 能够更好地应对各种复杂的查询场景。以下列举了部分深度定制功能:
- 多场景表引擎:
- 高可用引擎:解决开源版 ReplicatedMergeTree 引擎对于 ZooKeeper 不适当的使用带来集群不稳定的问题。
- 实时数据引擎:支持 at-least once 语义,可自动切换主备写入,稳定高可用。
- Unique 引擎:支持 upsert 功能,数据同步插入去重。
- 扩展数据类型:
- Map:适合业务经常变化场景。 通过优化可以保持几乎等同于正常列的写入和查询性能。
- Bitmap:支持大量数据进行复杂计算(交集、并集、补集等),适合表达具有特定关系的,大量实体 ID 集合的运算,例如千万甚至亿级别 user_id 的用户标签表,人群圈选可以秒级返回结果。
- 优化器: 为业界目前唯一的 ClickHouse 优化器方案。ByteHouse 自研优化器基于四个大的优化方向:RBO(基于规则的优化能力),CBO(基于代价的优化能力),分布式计划优化,高阶优化能力。
- 多级存储: 通过将热数据自动转存到冷存储(S3 / HDFS)的方式,牺牲冷数据部分查询性能来缓解业务存储空间持续增长的问题。