并行导入
功能描述
Vastbase提供了并行导入功能,以快速、高效地完成大量数据导入。
注意事项
关于vb_restore工具使用的注意事项请参考vb_restore。
并行导入仅支持自定义归档格式(c)和目录格式(d)。
执行此命令的用户需被赋予导出文件目录的读写权限。
数据库相关参数如下表所示:
参数 说明 取值范围 默认值 raise_errors_if_no_files 导入时是否区分“导入文件记录数为空”和“导入文件不存在”。 raise_errors_if_no_files=TRUE
,则“导入文件不存在”的时候,Vastbase将抛出“文件不存在的”错误。该参数属于SUSET类型参数。布尔型 - on表示导入时区分“导入文件记录数为空”和“导入文件不存在”。
- off表示导入时不区分“导入文件记录数为空”和“导入文件不存在”。
off partition_mem_batch 为了优化对列存分区表的批量插入,在批量插入过程中会对数据进行缓存后再批量写盘。通过partition_mem_batch可指定缓存个数。该值设置过大,将消耗较多系统内存资源;设置过小,将降低系统列存分区表批量插入性能。该参数属于USERSET类型参数。 1~ 65535 256 partition_max_cache_size 为了优化对列存分区表的批量插入,在批量插入过程中会对数据进行缓存后再批量写盘。通过partition_max_cache_size可指定数据缓存区大小。该值设置过大,将消耗较多系统内存资源;设置过小,将降低列存分区表批量插入性能。该参数属于USERSET类型参数。 列存分区表:4096~ INT_MAX / 2,最小单位为KB。 2GB enable_delta_store 为了增强列存单条数据导入的性能和解决磁盘冗余问题,可通过此参数选择是否开启支持列存delta表功能。该参数开启时,数据导入列存表,会根据表定义时指定的DELTAROW_THRESHOLD决定数据进入delta表存储还是主表CU存储,当数据量小于DELTAROW_THRESHOLD时,数据进入delta表。该参数影响的操作包括insert,copy,vacuum,vacuum full,vacuum deltamerge重分布等所有涉及列存表数据移动的操作。该参数属于POSTMASTER类型参数。 布尔型 - on表示开启列存delta表功能。
- off表示不开启列存delta表功能。
off
语法格式
vb_restore -p port -U username -W password -d dbname -e -c -s [-j jobs];
参数说明
-j
导出并发数(选填)。
其他参数说明可参考vb_restore。
示例
1、参考并行导出示例获取测试备份文件。
2、进入数据库创建恢复目标库restore。
CREATE DATABASE restore;
3、退出数据库在操作系统命令行执行vb_restore进行恢复。
vb_restore test -p5432 -d restore -j4
4、进入数据库切换至restore库。
\c restore
5、查看恢复数据。
SELECT * FROM test;
当结果显示如下信息,则表示数据库导入完成。
id --------- 1 2 3 (3 rows)