我对分片键和表分区有疑问。
[关于分片密钥的问题]
首先,分片键除了常量值或表的列以外不能是其他任何东西吗?
第二,当数据通过阴影键散布时,我们可以预测数据将插入哪个分片吗?
第三,如果每个分片具有相同的权重,我们应该如何为每个分片的平均分配设置分片密钥?
[有关表分区的问题]
首先,我有一个关于出现在system.parts表中的name列的问题。
sytem.parts表中名称列的示例:201901_1_9_2
1.1数据块的含义 在上面的名称列示例中, “ 1”是数据块的最小数目,“ 9”是数据块的最大数目。 我想知道数据块在这里的含义是什么。
1.2合并树的深度 在上面的名称列示例中,“ 2”是合并树的深度。 我想知道这种深度是否会随着每次合并而增加。 而且我想知道即使深度继续增加,性能也没有问题。
'
第二,我有一个关于合并组成分区的部分的问题。
例如,将PARTITION划分为YYYYMM。 现有的“ 201901”分区有40万行数据,并插入五个附加的“ 201901”数据。 此时,clickhouse将合并现有的分区数据(400,000行)以及由五个附加数据组成的部分。
2.1合并零件时,数据是否发生物理移动?还是逻辑写作方式发生了变化?
2.2合并零件时,是否需要花费大量时间在服务器上进行处理?服务器上的负载会激增并影响其他操作吗?
2.3分区时,建议通过“ PARTITION BY选项”自动为分区插入数据吗? 还是由于性能等原因,建议在插入数据时由用户随意创建分区表?