1 BACKUP
增加备份并行度调优
● 当备份介质为磁盘时,可以通过PARALLELISM count配置项指定多个并发线程进
行备份,以提高备份速度。
count的取值是[1, 8]范围内的整数。不指定并发数量时,将默认启动4个并发线
程。
● 并行备份时,可以通过SECTION THRESHOLD size配置项指定数据文件的切分阈
值,合适的切分阈值可以有效提高并行备份效率。
size的取值范围为[128M, 32T]。切分阈值太大,会造成并行效率下降,切分阈值
太小,会产生太多的备份文件数量,因此不建议用户指定切分阈值。不指定时,
数据库会自动计算最优的切分阈值。
示例
● 数据库自动计算切分阈值,并发数量为6。
BACKUP DATABASE FULL FORMAT '?/full011.bak' tag 'full011_bak' PARALLELISM 6;
● 用户指定切分阈值为1G,并发数量为2。
BACKUP DATABASE FULL FORMAT '?/full012.bak' tag 'full012_bak' PARALLELISM 2 SECTION
THRESHOLD 1G;
压缩调优
● BACKUP支持压缩,用户压缩类型可选ZLIB,ZSTD、LZ4,不指定默认为ZLIB。推
荐使用ZSTD。 – ZLIB :ZLIB压缩率略低于ZSTD,高于LZ4,但是压缩速率远低于ZSTD。
– ZSTD:ZSTD压缩率高,压缩速率略低于LZ4。 – LZ4:LZ4压缩率低于ZSTD,压缩速率高。
● 压缩备份时,可设置压缩级别,级别越高,压缩率越高,速度越慢。用户可选择
压缩级别范围是[1, 9],压缩备份不指定压缩级别时,将采用默认级别1进行压缩
备份。
示例
全量备份zstd压缩,压缩级别为2。
BACKUP DATABASE FULL FORMAT '?/fullzstd.bak' as zstd compressed backupset LEVEL 2;
2 EXP
增加导出并行度调优
● PARALLEL,取值范围[2,16],默认值0,用于并行导出表数据;
● 需要根据实际资源情况,配置并行度,并行度越大,CPU负荷越高;
示例
导出文件是4并行导出表结构和表数据。
exp tables=test1,test2 file="parallel4.dmp"filetype=txt parallel=4;
3 IMP
增加导入并行度调优
● PARALLEL,值范围1~32,默认值1,用于DML语句的并行导入,只对CONTENT
参数为DATA_ONLY或ALL有效;
● DDL_PARALLEL参数,值范围1~32,默认值1,用于DDL语句的并行导入,只对
CONTENT参数为METADATA_ONLY或ALL有效,且FILETYPE是BIN格式;
● 需要根据实际资源情况,配置并行度,并行度越大,CPU负荷越高;
示例1
–导出文件是4并行导出表结构和表数据
exp tables=test1,test2 file="parallel4.dmp"filetype=txt parallel=4;
–导入也可以通过4并发导入
imp tables=test1,test2 file="parallel4.dmp"filetype=txt parallel=4;
示例2
–导出文件是16并行导出表结构和表数据,导出文件预计100G
exp tables=% file="paralle32.dmp"filetype=bin parallel=16;
--导入也可以扩大至32并发度调优
imp tables=% file="paralle32.dmp"filetype=txt parallel=32 ddl_parallel=16;
使用 NOLOGGING 参数调优
● NOLOGGING参数主要作用在于导入过程中执行的sql语句不记录redo和undo日
志,以此来提升导入效率,当前只支持BIN格式导入调优
● NOLOGGING参数可以和并行度参数组合使用
示例
imp tables=% file="paralle32.dmp"filetype=txt parallel=32 ddl_parallel=16;ddl_parallel=16 nologging=Y;
4 LOAD
增加导入并行度调优
● THREADS,指定并行导入的线程数,需要根据实际资源情况,配置并行度,并行度越大,CPU负荷越高;
● 一般仅用于导出额数据量比较大的情况启用THREADS参数并发导入;
示例
● 导出目标表training 预计有4G大小。
DUMP TABLE training INTO FILE '/opt/gaussdb/data/training_backup' FIELDS ENCLOSED BY '|';
● 导入增加4并发度提升导入效率
LOAD DATA INFILE "/opt/gaussdb/data/training_backup" INTO TABLE training_new FIELDS
ENCLOSED BY '|' THREADS 4;
使用 NOLOGGING 参数调优
● NOLOGGING参数主要作用在于导入过程中执行的sql语句不记录redo和undo日
志,以此来提升导入效率,必须将目标表设置为append only,才能使用此选项。
● NOLOGGING参数可以和并行度参数组合使用。
示例
LOAD DATA INFILE "/opt/gaussdb/data/training_backup" INTO TABLE training_new FIELDS ENCLOSED BY '|'
THREADS 4 NOLOGGING;
5 ROACH
● Roach对所有介质类型的备份支持压缩。默认压缩类型为zstd,默认压缩等级为4。用户可以修改配置文件中的COMPRESSION_MODE、COMPRESSION_LEVEL
参数值设定压缩类型和等级;也可以在备份命令中加入–compression-level、–
compression-mode并设定参数值,压缩类型可选zlib,zstd(性能高)、lz4,压缩等级取值范围[1,9]。
● Roach对DISK备份和恢复可以设定并发线程个数,进行并行备份和恢复。用户可
以修改配置文件中的PARALLELISM参数值设定并发数;或在Roach备份和恢复命令中加入–parallel-process参数并设定值,取值范围为[1, 8]。




