18|ClickHouse应该如何选用表引擎?
彭旭
你好,我是彭旭。
我们在上节课讲 ClickHouse 的极致性能的时候,提到了 ClickHouse 支持灵活多样的表引擎,而每个表引擎都有自己的适用场景。
表引擎决定了数据表最终数据存储的模式,能够支撑的数据量大小,数据读写的方式等等。如果选择了不恰当的表引擎,可能会导致数据的存储结构不合理,影响数据的读写效率,甚至限制系统对大规模数据的支持能力。
这一讲,我们就来认识一下 ClickHouse 最强大的 MergeTree 表引擎系列。
MergeTree
MergeTree 以及其家族(MergeTree)的其他引擎系列是 ClickHouse 中使用最多,最强大的引擎。
先来看一个使用 MergeTree 引擎创建 CDP 用户表的示例。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. ClickHouse支持多种表引擎,选择合适的表引擎对数据存储结构、读写效率和系统支持能力至关重要。 2. MergeTree表引擎以及其家族是ClickHouse中使用最多、最强大的引擎,适合大规模数据的处理与查询。 3. ReplacingMergeTree引擎适用于需要唯一性约束的场景,能够删除重复行并保留版本列值最大的一行。 4. SummingMergeTree表引擎适用于对数值类型列进行汇总计算,能够按排序键分组并汇总重复行的数值字段。 5. AggregatingMergeTree是SummingMergeTree的升级版,支持sum之外的其他聚集函数,通常用作物化视图的表引擎,以提升聚合查询性能. 6. CollapsingMergeTree表引擎用于处理频繁更新的数据,通过折叠相同数据行的sign标记来实现数据行的状态管理。 7. VersionedCollapsingMergeTree是CollapsingMergeTree的变种,引入了version列,使得数据行的顺序不再影响“折叠”操作。 8. 表引擎的选择需要根据具体的数据存储需求和查询场景进行合理的权衡和选择,对系统的性能和稳定性有重要影响。 9. MergeTree系列表引擎是ClickHouse中最强大、使用最广泛的表引擎,包括GraphiteMergeTree、ReplicatedMergeTree系列和SharedMergeTree等。 10. 稀疏索引在稀疏索引里找不到数据或找到多个索引标记时的处理方式是一个值得思考的问题,需要根据具体情况进行处理。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式数据库从入门到实战》,新⼈⾸单¥59
《分布式数据库从入门到实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论