MAPREDUCE服务 MRS-ClickHouse表引擎适用场景说明:表引擎选择建议
表引擎选择建议
- 自助报表分析、行为数据分析,在不涉及重复数据聚合的情况下,建议使用ReplicatedMergeTree表引擎。
- 涉及到物化视图等聚合函数的场景,建议使用ReplicatedAggregatingMergeTree表引擎。
- 经常有数据去重或有update修改数据的场景下,建议使用ReplacingMergeTree表引擎,配合使用argMax函数获取最新数据。
表1 应用场景列表 引擎名称
应用场景
MergeTree
ClickHouse中最重要的引擎,基于分区键(partitioning key)的数据分区分块存储、前缀稀疏索引(order by和primary key)。
ReplacingMergeTree
相对于MergeTree,它会用最新的数据覆盖具有相同主键的重复项。
删除老数据的操作是在分区异步merge的时候进行处理,只有同一个分区的数据才会被去重,分区间及shard间重复数据不会被去重,所以应用侧想要获取到最新数据,需要配合argMax函数一起使用。
SummingMergeTree
当合并SummingMergeTree表的数据片段时,ClickHouse会把所有具有相同主键的行进行汇总,将同一主键的行替换为包含sum后的一行记录。
如果主键的组合方式使得单个键值对应于大量的行,则可以显著的减少存储空间并加快数据查询的速度。
AggregatingMergeTree
该引擎继承自MergeTree,并改变了数据片段的合并逻辑。
ClickHouse会将一个数据片段内所有具有相同主键(准确的说是排序键)的行替换成一行,这一行会存储一系列聚合函数的状态。可以使用AggregatingMergeTree表引擎来做增量数据的聚合统计,包括物化视图的数据聚合。
CollapsingMergeTree
在创建时与MergeTree基本一样,除了最后多了一个参数,需要指定Sign位(必须是Int8类型)。
CollapsingMergeTree会异步地删除(折叠)除了特定列Sign1和-1值以外的所有字段的值重复的行。
VersionedCollapsingMergeTree
是CollapsingMergeTree的升级,使用不同的collapsing算法,该算法允许使用多个线程以任何顺序插入数据。
Replicated*MergeTree
只有Replicated*MergeTree系列引擎是上面介绍的引擎的多副本版本,为了提升数据和服务的可靠性,建议使用副本引擎:
- ReplicatedMergeTree
- ReplicatedSummingMergeTree
- ReplicatedReplacingMergeTree
- ReplicatedAggregatingMergeTree
- ReplicatedCollapsingMergeTree
- ReplicatedVersionedCollapsingMergeTree
- ReplicatedGraphiteMergeTree
- 华为云CCE_华为云容器引擎CCE_容器引擎应用场景
- GaussDB引擎_GaussDB数据库引擎_高斯数据库引擎_华为云
- SpringCloud应用接入ServiceComb引擎_如何接入ServiceComb引擎_SpringCloud应用接入ServiceComb引擎操作指导
- 容器云部署_云容器引擎是什么_云容器引擎服务
- Java Chassis应用接入ServiceComb引擎_如何接入ServiceComb引擎_Java Chassis应用接入ServiceComb引擎操作指导1
- 监控告警_云容器引擎
- GaussDB引擎_华为云GaussDB优势_高斯数据库引擎_华为云
- 什么是微服务引擎_为什么需要微服务引擎_微服务引擎的优点-华为云
- 什么是华为云区块链引擎_华为云区块链引擎怎么使用_购买华为云区块链引擎
- MapReduce服务_什么是ClickHouse_如何使用ClickHouse