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条评论
评论已关闭。