ClickHouse使用(八)

文章目录


1 CollapsingMergeTree

以增代删

1.1使用方式?

如果sign 标记为1 标识这行有效数据,标记为-1标识需要被删除
Create table collpase_table(
id String,
code Int32,
create_time DateTime,
sign Int8
)Engine = CollapsingMergeTree(sign)
Partition by toYYYYMM(create_time)
order by id
(1)折叠数据并不是实时触发,在分区合并时触发
(2)只有相同分区内的数据才能被折叠
(3)限制:对于写入数据的顺序有严格要求,要使sign=1和sign=-1相邻,只能严格按照顺序写入,所以这是一个单线程模型

2 VersionedCollapsingMergeTree

2.1 CollapsingMergeTree的升级版,对数据写入顺序没有要求,按照版本号来排序需要折叠的数据,实现不需要严格控制写入顺序的

Create table collpase_table(
id String,
code Int32,
create_time DateTime,
sign Int8
ver UInt8
)Engine = VersionedCollapsingMergeTree(sign,ver)
Partition by toYYYYMM(create_time)
order by id

3 各种 MergeTree之间的关系

(1)MergeTree-》

(1.1)Aggregating MergeTree , Collapsing MergeTree

Summing MergeTree ,VersionedCollapsing MergeTree

ReplacingMergeTree Graphite MergeTree

上一篇:编程语言-5-代码仓库GitHub的使用


下一篇:2021-09-19