ClickHouse 是否像传统 RDBMS 一样支持分区,如果支持如何实现?

问题描述 投票:0回答:1

ClickHouse中数据分区的可行性和实现方法有哪些?

传统的RDBMS有哪些?

在ClickHouse中,数据分区的可行性如何,有哪些实现方法?此外,传统的关系数据库管理系统 (RDBMS) 通常如何处理数据分区?

clickhouse partition
1个回答
0
投票

您可以在 ClickHouse 中对表进行分区,就像在您最喜欢的老式 RDBM 中一样 - 使用

PARTITION BY
子句。

不同之处在于 ClickHouse 在磁盘上存储数据的方式。每次您在

INSERT
表中执行
MergeTree
操作时,插入的行都会进入其自己的文件夹,称为 part。您可以在 ClickHouse 中获得很多部分,因此请明智地插入数据(一次插入大量行或使用异步插入)。您不需要太多零件。 (各部分在背景中合并,但这是另一天的故事。)

当表被分区时,只有来自相同分区键的行才能进入同一部分。假设您按具有 100,000 个唯一值的列进行分区。这样,即使在最好的一天,您的集群中也可以保证拥有 100,000 个零件。太多了...这意味着您选择的分区键不好。

一般来说,我们对分区有一个建议 - 特别是当您刚接触 ClickHouse 时 - 即仅按月分区。同月的所有行都将存储在一起,但这意味着在您最好的一天,您每年可能只有 12 个部分。 (这是一个极端的简化......但这表明了我的观点。)

© www.soinside.com 2019 - 2024. All rights reserved.