如何限制集群sql下发的任务数目?

增加集群层参数配置限制集群sql下发的任务数目。
(1)查询当前集群已有用户及其优先级别select user, task_priority from gbase.user,明确后续参数的数值配置;
(2)gbase_use_priority_queue为优先级队列启用的开关,置1打开;
(3)将参数_gbase_priority_tasks设置为期望的相同优先级任务的最大下发数目(默认值为CPU核数,上限为64);
(4)将参数_gbase_priority_total_tasks设置为期望的全部优先级任务的最大下发数目(默认值为CPU核数的2倍,上限为128)。
注意:受控的任务语句只限于select查询及DML中的查询部分,上述参数均不支持show variables ...查询,修改后需重启集群生效。

8a中不同类型的表相互关联查询,它们的处理过程有什么不同?

hash分布表关联hash分布表且hash列相同
集群层下发sql到各节点层,执行结果汇总回发起节点。
hash分布表关联hash分布表且hash列不相同/随机分布表关联随机分布表
以关联的字段作为临时表的hash列进行重分布拉表,然后执行结果返回发起节点。
hash分布表/随机分布表关联复制表
各节点执行结果返回发起节点。
hash分布表关联随机分布表
以hash表的hash列作为关联字段时,拉随机分布表并计算。

透明网关gcluster_dblink_direct_data_exchange参数设置不同的值差异是什么?

设置为1和设置为0对SQL的支持程度是一样的,dblink的处理流程是不一样的。
说明如下:

gcluster_dblink_direct_data_exchange=1
server会发送select...into server命令给网关,网关转发该命令给源数据库,源数据库直接将数据发送到目标数据库中,数据移动不通过网关。

gcluster_dblink_direct_data_exchange=0
server会发送select 语句给网关,网关会在源数据库上执行该语句,将获取到的结果集insert到目标数据中。
在insert操作时,网关支持两种方式,具体如下:

  • load.data.type=1时,使用JDBC的PreparedStatement执行单条批量insert,该方式的优点是包含特殊字符的数据也可insert,缺点是速度较慢。
  • load.data.type=0时,使用`insert
    ...values(),(),()`形式一次性insert多条数据,该方式的优点是insert速度较单条批量insert速度快,缺点是在拼字符串时无法处理特殊字符。

如何通过系统表查看表的索引和注释?

查看某一个库下某一张表的索引
SELECT DISTINCT lower(index_name) index_name,lower(index_type) type FROM information_schema.statistics 
WHERE table_schema = 'employees' AND table_name = 'employees';
查看某一个库下某一张表的某一个索引
SELECT lower(column_name) column_name,seq_in_index column_position FROM information_schema.statistics
WHERE table_schema = 'employees' AND table_name = 'employees' AND index_name = 'primary';
查看某一个库下某一个表的注释
SELECT table_comment comments FROM information_schema.TABLES
WHERE table_schema = 'employees' AND table_name = 'employees';
查看某一个库下某一个表的列的注释
SELECT lower(column_name) column_name,column_comment comments
FROM COLUMNS WHERE table_schema = 'employees' AND table_name = 'employees'; 

如何查看当前session所在的节点?

通过SQL语句show local node;查询。
示例:

gbase> show local node;
 +-----------------+--------------------------+---------+------------+-----------------+----------+
 | Id         | ip              | name | dpname | safegroupId | status |
 +------------------+--------------------------+--------+-------------+-----------------+---------+
 | 1684646080 |  192.168.105.100 | n1   | n1     | 1701423296 | VALID|
 +------------------+--------------------------+---------+------------+------------------+--------+