返回首页

gbase数据、南大通用产品文档:GBase8a初始化hashmap 并进行数据重分布

更新日期:2024年09月11日

在该步骤中可以设置rebalance 任务的优先级。先设置参数
gcluster_rebalancing_concurrent_count=0 阻止rebalance 任务被执行。然后利用
rebalance instance 把当前集群下所有表加入到gclusterdb.rebalancing_status 中。调整

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
263
完每个表的rebalance 任务的优先级后再设置gcluster_rebalancing_concurrent_count
为需要的并发数,
开始执行数据重分布。
详细步骤参考章节调整rebalance 任务优先
级。
操作步骤
步骤1:初始化hashmap:
$ gccli -uroot
GBase client 9.5.3.17.117651. Copyright (c) 2004-2020, GBase.
All Rights Reserved.
gbase> initnodedatamap;
Query OK, 0 rows affected, 9 warnings (Elapsed: 00:00:01.45)
步骤2:执行数据重分布:
gbase> rebalance instance;
Query OK, 3 rows affected (Elapsed: 00:00:01.45)
查看rebalance 状态:
gbase> select index_name, status, percentage
from gclusterdb.rebalancing_status;
+------------+-----------+------------+
| index_name | status
| percentage |
+------------+-----------+------------+
| demo.ttt
| COMPLETED |
100 |
| demo.t
| COMPLETED |
100 |
| demo.tt
| COMPLETED |
100 |
+------------+-----------+------------+
3 rows in set (Elapsed: 00:00:00.07)
gbase> quit
Bye

功能说明
UPDATE 时,不能更新自增列。
示例
create table t2(a int auto_increment primary key,b varchar(100), c int)
distributed by ('b');

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1027
insert into t2(b,c) values('a1',1),('a2',2),('a3',3),('a4',4),('a5',5);
gbase> SELECT * FROM t2;
+---+------+------+
| a | b
| c
|
+---+------+------+
| 3 | a2
|
2 |
| 1 | a3
|
3 |
| 2 | a1
|
1 |
| 6 | a5
|
5 |
| 4 | a4
|
4 |
+---+------+------+
5 rows in set (Elapsed: 00:00:00.02)
gbase> update t2 set c = 144 where b = 'a2';
Query OK, 1 row affected (Elapsed: 00:00:00.08)
Rows matched: 1
Changed: 1
Warnings: 0
gbase> update t2 set a = 441 where b = 'a2';
ERROR 1235 (42000): This version of GBase doesn't yet support 'update/merge on
auto_increment column'
gbase> SELECT * from t2;
+---+------+------+
| a | b
| c
|
+---+------+------+
| 1 | a3
|
3 |
| 3 | a2
|
144 |

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1028
| 2 | a1
|
1 |
| 6 | a5
|
5 |
| 4 | a4
|
4 |
+---+------+------+
5 rows in set (Elapsed: 00:00:00.02)

常用的逻辑操作符有AND、OR 和NOT。运算结果可能为:TRUE、FALSE 和NULL,
其中NULL 代表未知。运算优先级顺序为:NOT>AND>OR。运算规则参见表5-1,表中的
a 和b 代表逻辑表达式。
表5-1 运算规则表
a
b
a AND b 的结果
a OR b 的结果
NOT a 的结果
TRUE
TRUE
TRUE
TRUE
FALSE
TRUE
FALSE
FALSE
TRUE
FALSE
TRUE
NULL
NULL
TRUE
FALSE
FALSE
FALSE
FALSE
FALSE
TRUE
FALSE
NULL
FALSE
NULL
TRUE
NULL
NULL
NULL
NULL
NULL
操作符AND 和OR 具有交换性,即交换左右两个操作数,不影响其结果。