Backup 和 Restore 是备份图和恢复图的功能。备份和恢复的数据包括元数据(schema)和图数据(vertex 和 edge)。
将 HugeGraph 系统中的一张图的元数据和图数据以 JSON 格式导出。
将 Backup 导出的JSON格式的数据,重新导入到 HugeGraph 系统中的一个图中。
Restore 有两种模式:
可以使用hugegraph-tools进行图的备份和恢复。
bin/hugegraph backup -t all -d data
该命令将 http://127.0.0.1 的 hugegraph 图的全部元数据和图数据备份到data目录下。
Backup 在三种图模式下都可以正常工作
Restore 有两种模式: RESTORING 和 MERGING,备份之前首先要根据需要设置图模式。
bin/hugegraph graph-mode-get
该命令用于查看当前图模式,包括:NONE、RESTORING、MERGING。
bin/hugegraph graph-mode-set -m RESTORING
该命令用于设置图模式,Restore 之前可以设置成 RESTORING 或者 MERGING 模式,例子中设置成 RESTORING。
bin/hugegraph restore -t all -d data
该命令将data目录下的全部元数据和图数据重新导入到 http://127.0.0.1 的 hugegraph 图中。
bin/hugegraph graph-mode-set -m NONE
该命令用于恢复图模式为 NONE。
至此,一次完整的图备份和图恢复流程结束。
备份和恢复命令的详细使用方式可以参考hugegraph-tools文档。
Backup 使用元数据
和图数据
的相应的 list(GET) API 导出,并未增加新的 API。
Restore 使用元数据
和图数据
的相应的 create(POST) API 导入,并未增加新的 API。
Restore 时存在两种不同的模式: Restoring 和 Merging,另外,还有常规模式 NONE(默认),区别如下:
正常情况下,图模式为 None,当需要 Restore 图时,需要根据需要临时修改图模式为 Restoring 模式或者 Merging 模式,并在完成 Restore 时,恢复图模式为 None。
实现的设置图模式的 RESTful API 如下:
GET http://localhost:8080/graphs/{graph}/mode
200
{ "mode": "NONE" }
合法的图模式包括:NONE,RESTORING,MERGING
PUT http://localhost:8080/graphs/{graph}/mode
"RESTORING"
合法的图模式包括:NONE,RESTORING,MERGING
200
{ "mode": "RESTORING" }