2023阿里云ClickHouse_企业版技术白皮书-阿里云_31页_8mb
报告摘要
阿里云 ClickHouse 企业版技术白皮书总结
核心内容概述
阿里云 ClickHouse 企业版是基于开源 ClickHouse 的云原生版本,采用了全新的架构和引擎设计,旨在提升大规模数据处理能力、实时性以及云环境下的扩展性和稳定性。其主要创新点包括 SharedMergeTree 表引擎 和 Lightweight Update 功能。
主要观点
1. ClickHouse 企业版架构特点
- 云原生架构:采用存储与计算分离的设计,所有数据统一存储在对象存储中,计算节点可以动态扩展。
- SharedMergeTree 引擎:是企业版特有的表引擎,支持云原生特性,提供更高的扩展性与性能。
- 无状态计算节点:计算节点不保存数据的本地副本,仅访问共享存储中的数据,实现灵活的节点增减。
- 自动扩展能力:用户可以通过简单地调整节点规格或数量,实现计算能力的线性扩展,无需进行数据重分布。
2. SharedMergeTree 引擎优势
- 简化合并流程:支持后台合并操作的线性扩展,提升吞吐量。
- 兼容性:企业版支持所有 MergeTree 家族的表引擎,并在后台自动转换为 SharedMergeTree。
- 元数据集中管理:元数据存储在 Keeper 中,确保一致性,同时减少节点间通信开销。
- 高可用性:数据存储在对象存储中,确保数据持久性和容错性,而无需显式复制。
3. Lightweight Update 功能
- 轻量级更新机制:在异步合并过程中,更新操作可以实时生效,无需等待合并完成。
- 无需批处理:用户可直接执行单个更新操作,系统会将更新表达式缓存到内存中,供后续查询使用。
- 实时可见性:更新和删除操作的结果可以立即被 SELECT 查询看到,提升用户体验。
- 资源优化:相比传统方式,Lightweight Update 使用更少资源,同时减少对查询性能的干扰。
关键信息
1. SharedMergeTree 与 ReplicatedMergeTree 的对比
- ReplicatedMergeTree:适用于传统的 shared-nothing 架构,需要显式复制数据,不适用于大规模副本节点场景。
- SharedMergeTree:专为云原生设计,支持高并发和大规模节点扩展,无需数据复制,仅依赖 Keeper 的元数据同步。
2. 集群扩展与性能提升
- 线性扩展:随着节点数量增加,SharedMergeTree 的写入吞吐量和查询性能呈线性提升。
- 基准测试结果:
- 3 个节点:写入时间约 67 秒,创建约 23,700 个 Parts。
- 10 个节点:写入时间约 67 秒,创建约 23,700 个 Parts,但合并到 3000 个 Parts 的时间更短。
- 80 个节点:写入 260 亿行仅需 67 秒,平均速度达每秒 3.88 亿行。
3. 企业版收益
- 无缝扩展:无需 Resharding 或 Rebalancing,即可扩展计算节点。
- 更高效的插入与合并:SharedMergeTree 提供更高效的插入和合并机制,减少数据冗余。
- 更强的查询性能:通过减少活动 Parts 数量,提升 SELECT 查询效率。
- 强一致性查询:通过 SYNC REPLICA 语句,实现更轻量级的强一致性查询。
4. Lightweight Update 的实现原理
- 异步合并:更新操作被加入队列,后台异步执行,不影响查询响应。
- 流式更新:在合并前,查询会将更新表达式应用于数据流,从而实现实时可见性。
- 性能恢复:随着后台合并完成,查询性能会逐步恢复,最终达到最佳状态。
5. 未来改进方向
- 持续优化:计划进一步提升 Lightweight Update 的性能,消除当前限制,如提高合并效率和减少内存使用。
实际应用对比
SharedMergeTree 在多个测试场景中表现出优于 ReplicatedMergeTree 的性能:
- 数据加载速度:随着节点数量增加,SharedMergeTree 的写入速度和合并效率呈线性增长。
- Parts 合并时间:SharedMergeTree 能更快地将 Parts 合并到健康数量(如 3000 个 Parts)。
- 资源利用:相比 ReplicatedMergeTree,SharedMergeTree 减少了 Keeper 的负载和节点间通信开销。
企业版邀测
阿里云已上线 ClickHouse 企业版并启动邀测,用户可通过以下方式申请测试:
- 申请链接:https://survey.aliyun.com/apps/zhiliao/oGSFR5mdN
- 二维码:用户可通过钉钉扫描社区二维码加入 ClickHouse 技术交流群,参与讨论与反馈。
结论
阿里云 ClickHouse 企业版通过引入 SharedMergeTree 表引擎和 Lightweight Update 功能,实现了云原生架构下的高效数据处理、无缝扩展和强一致性查询。它为用户提供了更强大的性能和更灵活的管理方式,是构建实时数仓的理想选择。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载