赢图Migrator是一套跨平台的命令行工具,支持在赢图实例间复制全部或部分图集数据。
准备工作
- 与操作系统适配的命令行工具:
- Linux或MacOS:bash,zsh,tcsh
- Windows:PowerShell
- 与操作系统适配的Ultipa Migrator(Windows/MacOS/Linux)
本手册提供的示例均在Windows系统上PowerShell中演示。
准备配置文件
生成样本文件
./ultipa-migrator.exe -sample
执行命令后,会在ultipa-migrator.exe
所在目录下生成config.yml
文件。如果目录下已有 config.yml
文件,数据将被覆盖。
修改配置文件
config.yml
样本文件内容如下,请按需修改。
# 源服务器配置文件信息
from:
hosts: 192.168.1.xx:60061
username: root
password: root
graph: SourceGraphName
# 目标服务器配置文件信息
to:
hosts: 192.168.2.xx:60061
username: root
password: root
graph: TargetGraphName
# 使用UQL复制数据(可选)
# 支持返回的数据类型:NODE, EDGE, PATH
uql: ""
# 其他配置文件信息
normal:
batchsize: 10000
threads: 10
# 复制单个schema对应数据的最大用时(单位:秒)
timeout: 3000
# 如果为true,源图集的LTE属性将同样加载到目标图集
lte: true
# 如果为true,源图集的索引和全文索引将创建在目标图集的磁盘上
index: true
源服务器配置文件信息
键:from
子键 |
数据类型 |
描述 |
---|---|---|
hosts |
String | 源数据库的IP地址或URL地址;同一集群只需填写一个服务器节点信息 |
username |
String | 数据库用户名 |
password |
String | 登录密码 |
graph |
String | 待复制的源图集名称 |
目标服务器配置文件信息
键:to
子键 |
数据类型 |
描述 |
---|---|---|
hosts |
String | 目标数据库的IP地址或URL地址;同一集群只需填写一个服务器节点信息 |
username |
String | 数据库用户名 |
password |
String | 登录密码 |
graph |
String | 待创建的目标图集名称;不可与目标数据库已有图集重名 |
使用UQL指定复制数据
键 |
数据类型 |
描述 |
---|---|---|
uql |
String | 仅复制UQL返回的数据(点、边或路径);如果留空,复制图集中全部数据 |
示例:
# 使用UQL复制数据(可选)
# 支持返回的数据类型:NODE,EDGE,PATH
# 仅复制100个schema为user的点
uql: "find().nodes({@user}) as nodes return nodes{*} limit 100"
请注意,目标图集仍将生成源图集的完整结构(包含所有schema和属性)。
其他配置文件信息
键:normal
子键 |
数据类型 |
默认值 |
描述 |
---|---|---|---|
batchsize |
Integer | 10000 | 每批次复制的数据条数,范围从1到100000;若输入的数值超出该区间,系统自动为其赋值5000 |
threads |
Integer | 10 | 最大线程数,范围从4到CPU数量的两倍;若输入的数值超出该区间,系统自动为其赋值CPU数量 |
timeout |
Integer | 3000 | 复制单个schema对应数据的最大用时(单位:秒),范围从10到10800;若输入的数值超出该区间,系统自动为其赋值10800 |
lte |
Bool | true | 如果为true,源图集的LTE属性将同样加载到目标图集 |
index |
Bool | true | 如果为true,源图集的索引和全文索引将创建在目标图集的磁盘上 |
执行数据复制
数据复制基于-config
参数所指定的配置文件执行。执行后,会在目标服务器上创建新图集,并复制源图集的结构和数据。
配置文件(以config.yml
为例)与ultipa-migrator.exe
在同一目录下:
./ultipa-migrator.exe -config config.yml
配置文件(以migrate0212.yml
为例)与ultipa-migrator.exe
在不同目录下:
./ultipa-migrator.exe -config C:\Users\johndoe\Desktop\migrate0212.yml

生成创建图和图结构的UQL语句
./ultipa-migrator.exe -config migrate0212.yml -gen_struct_uql
执行命令后会在ultipa-migrator.exe
所在目录下生成.uql文件,内容包含创建由配置文件指定的源图集及其结构(所有schema和属性)的UQL语句。调用-gen_struct_uql
参数时,不会执行数据复制操作。

显示版本
./ultipa-migrator.exe -version

显示帮助
./ultipa-migrator.exe -help

命令参数
参数 |
描述 |
必需参数 |
---|---|---|
-config |
根据配置文件名称执行相关命令 | 在执行数据复制或生成创建图和图结构的UQL语句,必须使用 |
-gen_struct_uql |
生成创建图和图结构(包含schema和属性)的UQL语句 | 非必需 |
-sample |
生成名为config.yml 的样本配置文件,保存在ultipa-migrator.exe 所在目录下 |
非必需 |
-version |
显示ultipa-migratort.exe 的版本 |
非必需 |
-help |
显示帮助信息 | 非必需 |