【阿里云】2023ClickHouse_企业版技术白皮书_31页_8mb
报告摘要
阿里云 ClickHouse 企业版技术白皮书总结
核心内容
阿里云 ClickHouse 企业版是基于开源社区版本的云原生数据库服务,其核心创新在于引入了 SharedMergeTree 表引擎 和 Lightweight Update 技术,以解决传统架构下的扩展性、数据一致性及更新效率问题。本文详细介绍了这些技术的实现原理、优势及实际应用效果。
主要观点
- 云原生架构:企业版采用存储与计算分离的架构,所有数据存储在对象存储中,支持按需弹性扩展。
- SharedMergeTree 引擎:是企业版特有的商业化表引擎,专为云环境优化,支持无缝的垂直和水平扩展。
- Lightweight Update:通过异步合并机制,使得数据更新操作更轻量,且实时可见,无需等待数据合并完成。
- 高可用性与一致性:SharedMergeTree 使用 Keeper 管理元数据,确保数据在共享存储上的高可用性和一致性。
- 性能提升:SharedMergeTree 支持线性扩展,插入和合并吞吐量随着节点数量增加而提升,从而提升查询性能。
关键信息
1. ClickHouse 企业版架构特点
- 共享存储:所有计算节点访问同一份数据,无需物理复制。
- 无状态计算节点:计算节点规格和数量可自由调整,支持快速扩缩容。
- Keeper 作为元数据协调系统:Keeper 管理元数据并支持分布式一致性,保证所有节点访问相同数据视图。
2. SharedMergeTree 表引擎优势
- 简化代码维护:相较于 ReplicatedMergeTree,SharedMergeTree 的代码结构更简单。
- 支持无缝扩展:通过共享存储和 Keeper 协调,实现几乎无限的节点扩展。
- 提升合并吞吐量:在 Keeper 资源充足时,合并操作的吞吐量随节点数量线性增长。
- 兼容性:企业版支持所有 MergeTree 家族引擎,自动基于 SharedMergeTree 进行更新。
3. Lightweight Update 技术
- 轻量级更新机制:在异步合并期间,更新操作的表达式会被缓存到内存中,使得 SELECT 查询可以实时看到更新结果。
- 无需显式批处理:用户可直接执行单个 UPDATE 查询,系统会自动将多个更新操作合并到后台的 mutation 中。
- 提升查询性能:通过 on-the-fly 的方式应用更新表达式,使得 SELECT 查询在更新完成前仍能高效执行。
4. 与开源 ReplicatedMergeTree 的对比
- ReplicatedMergeTree 的局限:在大量副本节点时,复制机制导致数据同步延迟和资源竞争,影响性能。
- SharedMergeTree 的优势:支持线性扩展,合并吞吐量提升明显,活动 Parts 数量较少,提升查询效率。
- 基准测试结果:
- 3 个节点:SharedMergeTree 与 ReplicatedMergeTree 性能相近。
- 10 个节点:SharedMergeTree 合并效率显著高于 ReplicatedMergeTree。
- 20 个节点:ReplicatedMergeTree 在复制队列中处理大量更新操作,导致性能下降。
- 80 个节点:SharedMergeTree 插入260亿行数据仅需67秒,平均速度为每秒3.88亿行。
5. 企业版收益
- 无缝集群扩展:无需物理 Resharding 或 Rebalancing,即可自由增减节点数量。
- 提升写入与查询性能:通过 SharedMergeTree 的高效合并机制,提升吞吐量和查询效率。
- 支持实时更新:Lightweight Update 提升了数据更新的实时性和易用性。
- 降低资源消耗:更新操作不依赖大量本地存储,资源使用更高效。
未来计划
- 进一步优化 Lightweight Update:计划通过更多改进提升性能并消除当前限制。
- 增强 SharedMergeTree 功能:未来将支持更多高级特性,如异步插入的去重和静态加密。
企业版邀测
阿里云 ClickHouse 企业版已上线并启动邀测,用户可通过申请链接或扫描二维码参与测试。企业版提供了更高效的云原生架构和功能,适用于大规模数据分析和实时数仓场景。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载