GBase新闻

专注于数据库软件产品和服务,致力于成为用户最信赖的数据库产品供应商

南大通用GBase 8a数据库数据加载功能及调优(二)

发布时间:2025-02-20

负载均衡配置

GBase 8a支持负载均衡,根据任务数自动优选加载节点,提供以下参数配置加载任务负载均衡,提升加载性能:

gcluster_loader_max_data_processors

说明:集群中加载节点的数量,同加载SQL参数MAX_DATA_PROCESSORS。

取值范围:1-300

默认值:16

调优值:建议4-6。

gcluster_load_rebalance_seed

说明:加载任务负载均衡控制,集群中加载节点的选择方式可通过此参数微调。

默认值:5。

调优值:加载任务随机选择执行任务数最少的几个data节点作为数据加载节点。在加载并发较多场景下,可以适当增加该值,从而增加满足加载机条件的data节点个数。

示例:在12个data节点集群中,MAX_DATA_PROCESSORS=4的情况下,一次加载任务会随机选择不超过四个data节点作为加载机。

如果gcluster_load_rebalance_seed值为5,集群中所有data节点的最小任务数为20,则所有任务数<=25的data节点都可供本次加载任务随机选择为加载节点;

但是<=25的节点个数不足四个时,则使用满足该要求的几个节点作为加载机,因此可以调大rebalance_seed参数值来扩大可选加载机的范围,但通常不超过10。

加载状态监控

GBase 8a提供查看加载状态和加载结果的系统表与日志,支持加载过程监控、结果查询、错误数据溯源。

加载状态信息查看:

加载任务启动后,可通过SQL方式查看本次加载任务的状态信息。状态信息表information_schema.load_status中记录正在运行的所有加载任务的状态信息。

加载结果:

加载任务的结果信息存储在load_result.log文件中,可以通过information_schema.load_result系统视图查看。

LOAD_RESULT表:记录当前 coordinator 节点的加载信息。

CLUSTER_LOAD_RESULT表:记录所有 coordinator 节点的加载信息。

注意:information_schema库的表查询都会占用内存,load_result表会话之间不共享,并发查询时每个会话会读取一份,load_result到自己的session内存中。加载设计过程中及运维过程中需合理使用information_schema库表的查询,及时清理废弃日志。

加载接口开发

GBase 8a集群通过gccli工具、jdbc/.net开发接口执行SQL语句加载数据,提供的开发接口包括:

1、jdbc接口

executeUpdate(loadSql) -- 执行加载语句

stmt.getSkippedLines() -- 获取跳过错误数据行数

stmt.getLoadTaskID() -- 获取加载任务id

2、ado.net接口

cmd.ExecuteNonQuery() -- 执行时间加载SQL

cmd.RecordsSkipped -- 跳过错误数据行数

cmd.RecordsTaskID -- 加载任务ID

3、ODBC接口

提供SQLROWCOUNT(hstmt,&rowCount)获取加载成功行数

SQLGetStmtAttr()中的SQL_RES_GBASE_LOAD_TASK_ID获取任务ID

SQL_RES_LOAD_TASK_SKIPPED_LINES获取忽略行数

4、Python API接口

提供getInfo接口可获取成功行数、忽略行数、任务ID三个信息

其它加载问题

数据加载文件的读写一致性

在使用freeNas等软件搭建数据文件服务器时,建议使用同一种文件访问接口,避免对同一个数据文件同时使用NFS接口、FTP接口, 容易出现文件读写不一致问题。

加载SQL参数[MAX_BAD_RECORDS number]

说明:用于设定错误数据的行数上限。

取值范围:0~ 4294967295,0表示只要有错误数据就报错退出,加载任务自动回滚。

调优值:所有集群节点独立计算加载错误数量,一旦有一个节点加载时错误数据达到本限制,则终止所有节点的加载任务。集群加载提交之前检查总错误条数是否超出限制,如果超出限制,放弃提交,报错退出。

大量小文件加载优化(862.33R39、953版本及以上)

一般小于10M的文件为小文件,大于1G的文件为大文件。相同数据量,文件个数越多,提升越多;同样大小的文件,文件个数越多,提升越多;

相同数据源复用网络连接;

集群层,相同目录文件转化成文件通配方式批量获取文件大小,不同目录文件复用网络连接。