Clickhouse分片键和表分区

时间:2019-06-13 05:26:58

标签: clickhouse

我对分片键和表分区有疑问。

[关于分片密钥的问题]

  1. 首先,分片键除了常量值或表的列以外不能是其他任何东西吗?

  2. 第二,当数据通过阴影键散布时,我们可以预测数据将插入哪个分片吗?

  3. 第三,如果每个分片具有相同的权重,我们应该如何为每个分片的平均分配设置分片密钥?

[有关表分区的问题]

  1. 首先,我有一个关于出现在system.parts表中的name列的问题。

    sytem.parts表中名称列的示例:201901_1_9_2

    1.1数据块的含义     在上面的名称列示例中, “ 1”是数据块的最小数目,“ 9”是数据块的最大数目。     我想知道数据块在这里的含义是什么。

    1.2合并树的深度     在上面的名称列示例中,“ 2”是合并树的深度。     我想知道这种深度是否会随着每次合并而增加。     而且我想知道即使深度继续增加,性能也没有问题。

'

  1. 第二,我有一个关于合并组成分区的部分的问题。

    例如,将PARTITION划分为YYYYMM。   现有的“ 201901”分区有40万行数据,并插入五个附加的“ 201901”数据。   此时,clickhouse将合并现有的分区数据(400,000行)以及由五个附加数据组成的部分。

    2.1合并零件时,数据是否发生物理移动?还是逻辑写作方式发生了变化?

    2.2合并零件时,是否需要花费大量时间在服务器上进行处理?服务器上的负载会激增并影响其他操作吗?

    2.3分区时,建议通过“ PARTITION BY选项”自动为分区插入数据吗? 还是由于性能等原因,建议在插入数据时由用户随意创建分区表?

    • 用户创建的分区表示例
      • 如果表的基本名称为testA,
        • 分区1的名称:testA_201901
        • 分区2的名称:testA_201902

0 个答案:

没有答案