Milvus Backup 简介
Milvus Backup 是 Zilliz 公司为 Milvus 向量数据库开发的一款强大的数据备份和恢复工具。它旨在为 Milvus 用户提供一种简单而有效的方式来保护和恢复他们的宝贵数据。无论是数据迁移、灾难恢复还是版本控制,Milvus Backup 都能满足用户的各种需求。
主要特性
- 支持通过命令行和 RESTful API 进行操作,适应不同的使用场景
- 对 Milvus 实例的性能影响极小,可在生产环境中安全使用
- 支持全量和增量备份,灵活满足不同的备份需求
- 提供异步备份和恢复功能,适合大规模数据操作
- 集成 Minio 对象存储,确保备份数据的安全性和可靠性
安装和配置
要开始使用 Milvus Backup,您有两种选择:
-
从 GitHub Release 页面 下载预编译的二进制文件。建议选择标记为 "Latest" 的最新版本。
-
从源代码编译:
git clone git@github.com:zilliztech/milvus-backup.git
cd milvus-backup
go get
go build
Mac 用户还可以使用 Homebrew 进行安装:
brew install zilliztech/tap/milvus-backup
安装完成后,您需要配置 backup.yaml
文件,主要包括 Milvus 代理和 Minio 集群的访问信息。请注意,配置可能因 Milvus 的部署方式(Docker Compose 或 Kubernetes)而有所不同。
使用方法
Milvus Backup 提供了两种主要的使用方式:命令行界面(CLI)和 RESTful API。
命令行界面
使用 CLI 可以快速执行备份和恢复操作。以下是一些常用命令:
- 创建备份:
./milvus-backup create -n my_backup
- 列出所有备份:
./milvus-backup list
- 恢复备份:
./milvus-backup restore -n my_backup -s _recover
RESTful API
启动 API 服务器:
./milvus-backup server
服务器默认监听 8080 端口。您可以通过 -p
参数更改端口。
API 服务启动后,您可以通过 http://localhost:8080/api/v1/docs/index.html 访问 Swagger UI,查看完整的 API 文档。
以下是一些常用的 API 调用示例:
- 创建备份:
curl --location --request POST 'http://localhost:8080/api/v1/create' \
--header 'Content-Type: application/json' \
--data-raw '{
"async": true,
"backup_name": "test_backup",
"collection_names": [
"test_collection1","test_collection2"
]
}'
- 列出所有备份:
curl --location --request GET 'http://localhost:8080/api/v1/list' \
--header 'Content-Type: application/json'
- 恢复备份:
curl --location --request POST 'http://localhost:8080/api/v1/restore' \
--header 'Content-Type: application/json' \
--data-raw '{
"async": true,
"collection_names": [
"test_collection1"
],
"collection_suffix": "_bak",
"backup_name":"test_backup"
}'
最佳实践
-
定期备份: 建立定期备份计划,确保数据安全。
-
测试恢复: 定期进行恢复测试,验证备份的有效性。
-
增量备份: 对于大型数据集,考虑使用增量备份来减少备份时间和存储空间。
-
监控备份状态: 利用 API 或日志监控备份任务的执行状态。
-
安全存储: 确保备份文件存储在安全的位置,考虑使用加密和访问控制。
注意事项
- Milvus Backup 不支持将数据备份到本地路径,必须使用 Minio 或其他对象存储。
- 在恢复大型数据集时,建议使用异步恢复功能,以避免长时间阻塞。
- 确保备份和恢复操作使用的 Milvus 版本兼容。
结语
Milvus Backup 为 Milvus 用户提供了一个强大而灵活的数据保护解决方案。通过简单的命令行操作或 RESTful API 调用,用户可以轻松地管理他们的 Milvus 数据备份和恢复。无论是日常维护、灾难恢复还是数据迁移,Milvus Backup 都是您的得力助手。
随着 Milvus 生态系统的不断发展,我们相信 Milvus Backup 将继续 evolve,为用户提供更多高级功能和更好的使用体验。我们鼓励用户积极参与到 Milvus Backup 的开源社区中,共同推动这个工具的发展。
最后,请记住定期备份您的 Milvus 数据,因为数据安全永远是首要考虑的因素。让 Milvus Backup 成为您数据管理策略中不可或缺的一部分,为您的 Milvus 之旅保驾护航。