GBase 8a 扩容重分布后因快速扩容参数gcluster_rebalancing_random_table_quick_mode 导致磁盘空间没有明显变动

GBase 8a数据库集群支持扩容功能,一般是因为磁盘空间或者性能原因。如果扩容重分布后磁盘空间没有明显变动,那可能是有大量的随机分布表,他们默认是不参与数据重新分散到所有节点的。

原因

因为随机分布表的特性,数据在任何节点都不影响查询结果,而且大部分随机分布表都是大表,也就是不适合选择某个列做Hash分布表。而这种表因为磁盘占用大,如果参与重分布,则需要大量的时间,所以数据库提供了参数,默认随机分布表做快速重分布,不重新分散数据,而是保留现有数据状态。

参数:gcluster_rebalancing_random_table_quick_mode

默认值:1

解决方案

在重分布rebalance 操作前,将该参数设置为0,然后再运行rebalance步骤。

gbase> show variables like '%quick%';
+----------------------------------------------+-------+
| Variable_name                                | Value |
+----------------------------------------------+-------+
| gcluster_rebalancing_random_table_quick_mode | 1     |
+----------------------------------------------+-------+
1 row in set (Elapsed: 00:00:00.00)

gbase> set global gcluster_rebalancing_random_table_quick_mode=0;
Query OK, 0 rows affected (Elapsed: 00:00:00.01)

gbase> show variables like '%quick%';
+----------------------------------------------+-------+
| Variable_name                                | Value |
+----------------------------------------------+-------+
| gcluster_rebalancing_random_table_quick_mode | 0     |
+----------------------------------------------+-------+
1 row in set (Elapsed: 00:00:00.01)

扩容的详细步骤,请参考 GBase 8a 扩容操作详细实例

GBase 8a 扩容重分布后因快速扩容参数gcluster_rebalancing_random_table_quick_mode 导致磁盘空间没有明显变动》有1条评论

评论已关闭。