返回首页

gbase数据、南大通用产品文档:GBase8a集群参数优化

更新日期:2024年09月11日

集群节点的资源是根据物理机分配的,没有参考实例数分配,采用多实例部
署时,应对内存参数、并行度参数需进行手工的配置。避免位于同一个服务器上
的不同节点间产生严重的资源争抢。
如服务器内存为256GB,按照4 个numa 节点分配4 个data 节点的三个内存
堆大小,分别为:
gbase_heap_data=24





南大通用数据技术股份有限公司
21/44
#(256*6/16)/4
gbase_heap_temp=4G
#(256*1/16)/4
gbase_heap_large=12G
#(256*3/16)/4
如服务器的CPU 共128 核心,
每个NUMA 节点有32 核,
如果业务并发为10~20
个,
则建议配置gbase_parallel_degree、
gbase_loader_parallel_degree 为3。
方法:
各gnode 节点的配置文件/opt/IP/gnode/config/gbase_8a_gbase.cnf 中查
找以下参数,如果存在修改参数值如下,如果不存在,将以下参数添加进配置
文件中。
gbase_heap_data=24G
gbase_heap_temp=4G
gbase_heap_large=12G
gbase_parallel_degree=3
gbase_loader_parallel_degree=3
调整内存配置后,需要重启gbased 的服务使配置生效。

使用 SAVEPOINT 语句来声明在当前的 SQL 事务之内新的保存点的名称,并设
置在该事务之内 SQL 语句的词典顺序之内的新保存点的位置。SAVEPOINT 语
句符合 SQL 的 ANSI/ISO 标准。
语法

元素
描述
限制
语法
savepoint 在此为新的保存
点声明的名称
不可为在相同的保存点级别中现
有的唯一保存点的名称
标识符
用法
您可在 SQL 事务中使用 SAVEPOINT 语句以 DB-Access 和 SPL、C 和 Java™
例程来支持错误处理。您可定义保存点来将单个复杂的事务分隔成它的组件 SQL
语句的较小的逻辑子集。在那个事务之内,可更有效地回滚跟在每一保存点之后
的语句的子集,比起如果您在多个事务中已使用了多个 COMMIT WORK 和
ROLLBACK WORK 语句的话。
SAVEPOINT 语句在当前的事务之内按照语句的词典顺序在当前的位置设置指定
的保存点。在 SAVEPOINT 语句执行成功之后,引用此保存点的后续的
ROLLBACK TO SAVEPOINT 语句可取消对数据库任何未提交的更改,这些更改
是跟在新的保存点之后但在 ROLLBACK TO SAVEPOINT 语句之前的。
如果在同一事务内的现有的保存点与 SAVEPOINT 语句指定的名称相同,则销毁现
有的保存点,除非下列条件之一为真:

在不同的保存点级别设置了现有的保存点。

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 847

以 UNIQUE 关键字选项声明了现有的保存点名称。在此情况下
SAVEPOINT 语句失败并报错,除非在不同的保存点级别设置了现有的
UNIQUE 保存点。
销毁一保存点来为另一保存点重用它的名称,与释放该保存点不同。重用保存点
名称仅销毁一个保存点。以 RELEASE SAVEPOINT 语句释放保存点会释放指定
的保存点以及后续已设置了的所有保存点。
UNIQUE 选项
此可选的关键字指定应用程序不要打算在另一 SAVEPOINT 语句中重用此保存点
的名称,在此保存点在当前的保存点级别之内是活动的时候。
如果保存点已存在,是在当前的保存点界别之内以相同的名称和以 UNIQUE 关
键字设置了的,则 SAVEPOINT 语句失败并报错,且不销毁现有的保存点。
保存点级别
GBase 8s 支持构造嵌套的保存点级别。单个 SQL 事务可有多个保存点级别。在
执行 SPL 例程或外部 UDR 期间,自动地创建新的保存点级别。递归地调用相
同的 SPL 例程或 UDR 还增长当前事务的保存点级别。
当在其被创建的 UDR 中完成执行时,保存点级别终止。当保存点级别终止时,
自动地释放在它之内的所有保存点。父保存点级别继承任何 DDL 或 DML 修改
(即,到在其内创建了刚刚终止的那个保存点级别),并受任何针对该父保存点
级别发出的保存点相关的语句支配。
下列规则适用于保存点级别之内的活动:

仅可在保存点被创建的那个保存点级别之内引用保存点。您不可释放、销
毁或回滚到在当前保存点级别之外创建的保存点。
保存点名称的唯一性仅在当前的保存点级别之内是强制的。在其他保存点级别中
为活动的保存点的名称可在当前的保存点级别中重用,而不影响其他保存点级别
中的那些保存点。
在分布式 SQL 事务中的保存点
如果所有参与的数据库支持事务日志记录,则保存点在支持事务的单个 GBase 8s
实例的跨数据库分布式 SQL 事务中是有效的。在跨数据库 SQL 事务中还支持

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 848
保存点,包括在高可用性集群中的操作,如果所有参与的 GBase 8s 实例支持保
存点,且在该事务中访问的所有数据库都使用日志记录的话。
然而,如果在跨数据库事务中的任何参与的数据库服务器不支持保存点,且在可
支持保存点的协调者与不支持保存点的从属服务器之间建立了连接,则在分布式
会话之内的任何 ROLLBACK TO SAVEPOINT 语句都失败并报错。
保存点的保持
保存点是 SQL 事务之内,而不是数据库对象之内的位置标记。在同一事务之内,
任何下列事件之一都销毁现有的保存点 S:

执行 COMMIT WORK 或 ROLLBACK WORK(无 TO SAVEPOINT 子
句)语句。

执行在同一保存点级别中指定 S 的 RELEASE SAVEPOINT 语句。

执行 ROLLBACK TO SAVEPOINT 或 RELEASE SAVEPOINT 语句,指
定早于在同一保存点级别中的 S 建立了的保存点。

在同一保存级别中 SAVEPOINT 语句指定相同的名称作为 S,且 S 不
是以 UNIQUE 关键字创建的。
对保存点的限制
在下列上下文中不支持保存点和保存点级别:

在不支持事务日志记录的数据库中

在触发器活动中

在 XA 全局事务中

在启用 AUTOCOMMIT 连接属性的应用程序或 UDR 中。
此外,在 DML 语句之内调用的 UDR 中,SAVEPOINT 语句(如 RELEASE
SAVEPOINT 和 ROLLBACK WORK TO SAVEPOINT 语句)是无效的,如下例
所示:
SELECT first_1 foo() FROM systables;
在此,foo( ) 例程不可设置保存点。
相关的语句
相关的语句:COMMIT WORK 语句、RELEASE SAVEPOINT 语句 和
ROLLBACK WORK 语句

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 849

集群参数对比
当用户需要对比集群不同节点的参数信息时,通过点击“集群日志文件”
查看该集群下的日志文件信息,如下图: