返回首页

gbase数据、南大通用产品文档:GBase8a进行数据重分布

更新日期:2024年09月11日

功能说明
执行rebalance instance 命令,将数据重分布到使用freenode 新建的distribution 上。
注意

本次数据重分布将进行实际数据的重分布;

重分布的所需时间需要根据数据量,系统CPU,磁盘,网络等综合情况进
行评估。
操作步骤
步骤1:执行rebalance instance 命令,将数据重分布到新建的distribution
(Distribution=4)上。
$ gccli
GBase client 9.5.3.17.117651. Copyright (c) 2004-2020, GBase.
All Rights
Reserved.
gbase> use vc vc1;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)
gbase> rebalance instance;
Query OK, 3 rows affected (Elapsed: 00:00:01.20)
gbase> select * from gclusterdb.rebalancing_status;
+------------+---------+------------+----------+----------------------------+-------------------
---------+-----------+------------+----------+---------------+-----------------+
| index_name | db_name | table_name | tmptable | start_time
| end_time
| status
| percentage | priority | host
| distribution_id |
+------------+---------+------------+----------+----------------------------+-------------------

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
323
---------+-----------+------------+----------+---------------+-----------------+
| demo.t
| demo
| t
|
| 2020-07-29 18:31:39.332
000 | 2020-07-29 18:31:41.392000 | COMPLETED |
100 |
5
| 172.168.83.11 |
4 |
| demo.ttt
| demo
| ttt
|
| 2020-07-29 18:31:39.33600
0 | 2020-07-29 18:31:41.389000 | COMPLETED |
100 |
5 |

角色管理界面可以添加、删除、修改角色以及配置角色相应的权限,给不
同的角色分配不同的监控和管理权限。创建好的角色可以在“用户”界面操作
时分配给相应的用户,从而使不同的用户可以绑定不同的角色,具有不同的操
作统一监控的权限。
角色界面展示如图:

统一数据平台监控与运维系统用户手册
南大通用数据技术股份有限公司
- 37 -
图3.2-7 角色信息
角色列表信息说明:

角色名:操作统一监控的角色的名称

角色描述:对角色的简单描述

状态:角色的是否可用的状态

操作:其中包含了可点击的链接“权限管理”,点击后可进入“权限
管理”界面

通过在调用例程内构建被调用的例程的名称,
动态的例程名称规范允许您从另一 SPL 例程
执行 SPL 例程。
动态的例程名称规范简化您编写调用另一 SPL 例程的 SPL 例程的方式,
直到运行时才能知道另一例程的名称。
数据库服务器允许您在 EXECUTE PROCEDURE 或
EXECUTE FUNCTION 语句中指定 SPL 变量,而不是 SPL 例程的显式的名称。
在下图中,SPL 过程 company_proc 更新大型的公司销售表,然后,分配名
为 salesperson_proc 的 SPL 变量来保存更新另一较小表的动态地创建的 SPL 过程的名称,
这个较小的表包含个别销售人员的每月销售情况。
图: 动态的例程名称规范。
CREATE PROCEDURE company_proc ( no_of_items INT,
itm_quantity SMALLINT, sale_amount MONEY,
customer VARCHAR(50), sales_person VARCHAR(30) )

DEFINE salesperson_proc VARCHAR(60);

-- 更新公司表
INSERT INTO company_tbl VALUES (no_of_items, itm_quantity,
sale_amount, customer, sales_person);

-- 生成变量 salesperson_proc 的过程名称
LET salesperson_proc = sales_person || "." || "tbl" ||
current_month || "_" || current_year || "_proc" ;


GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 322 -
-- 执行 salesperson_proc 变量指定的
-- SPL 过程
EXECUTE PROCEDURE salesperson_proc (no_of_items,
itm_quantity, sale_amount, customer)
END PROCEDURE;
在示例中,
过程 company_proc 接受五个参数,
并将它们插入至 company_tbl 内。
然后,
LET
语句使用不同的值和连接运算符 || 来产生要执行的另一 SPL 过程的名称。在 LET 语句
中:
sales_person
传给 company_proc 过程的参数。
current_month
系统日期中的当前月份。
current_year
系统日期中的当前年份。
因此,如果名为 Bill 的销售人员在 1988 年 7 月完成一笔销售,
则 company_proc 在 company_tbl 中插入一记录,并执行 SPL 过程bill.tbl07_1998_proc,更
新包含个别销售人员的每月销售情况的较小的表。

动态例程名称规范的规则
您必须定义保存动态地执行的 SPL 例程的名称的 SPL 变量为 CHAR、VARCHAR、
NCHAR 或 NVARCHAR 类型。您还必须为 SPL 变量提供一个有效的且非 NULL 的名
称。
在可执行动态的例程名称规范标识的 SPL 例程之前,该例程必须存在。如果你将有效的
SPL 例程的名称分配给该 SPL 变量,则 EXECUTE PROCEDURE 或 EXECUTE
FUNCTION 语句执行在该变量中包含其名称的例程,即使存在同名的内建的函数。
在 EXECUTE PROCEDURE 或 EXECUTE FUNCTION 语句中,您不可使用两个 SPL 变
量来创建形式为 owner.routine_name 的变量名称。
然而,
您可使用包含完全限定的例程名称
的 SPL 变量,例如,bill.proc1。下图同时展示这两种情况。
图: 包含完全限定的例程名称的 SPL 变量。
EXECUTE PROCEDURE owner_variable.proc_variable;
-- 不允许这样

LET proc1 = bill.proc1;
EXECUTE PROCEDURE proc1; -- 允许这样


GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 323 -