适用范围
sndb backup 提供 SonnetDB 多模型数据库的第一批离线管理能力:
- 对 measurement、关系表、KV keyspace、document collection 创建一致目录备份。
- 生成
sonnetdb.backup.jsonmanifest,记录一致性点、模型摘要、索引生命周期和逐文件 SHA-256。 - 支持备份校验、manifest 查看,以及恢复到新的数据库目录。
第一批定位为离线 / 维护窗口工具。定时策略、增量备份、远端对象存储、审计审批、在线恢复和 UI 编排留给企业版管理能力继续演进。
创建备份
sndb backup create --path ./data/metrics --output ./backups/metrics-20260602
可选参数:
| 参数 | 说明 |
|---|---|
--overwrite |
允许目标目录已存在但必须为空 |
--no-fulltext-indexes |
不复制 documents/fulltext/ 派生全文索引目录,恢复后可由主数据重建 |
备份目标目录不能位于源数据库目录内部,避免复制过程中把备份产物再次纳入源文件枚举。
校验备份
sndb backup verify --path ./backups/metrics-20260602
校验会读取 manifest,逐个检查文件是否存在、大小是否一致、SHA-256 是否匹配。成功时返回 0;失败时返回非 0 并输出错误列表。
查看 manifest 摘要
sndb backup inspect --path ./backups/metrics-20260602
输出包括:
- manifest 格式版本和创建时间。
- checkpoint LSN、下一段 ID、segment 数量。
- measurement、table、keyspace、document collection 数量。
- table 二级索引、document JSON path / fulltext 索引、measurement vector 索引的 included / rebuildable 状态。
恢复备份
sndb backup restore --path ./backups/metrics-20260602 --target ./data/metrics-restored
恢复总是写入一个新的数据库目录。目标目录不存在时自动创建;如果目录已存在,必须为空且显式指定 --overwrite。
恢复前可以先做 dry-run。该命令会校验 manifest、文件 SHA-256 和目标目录策略,但不会复制文件:
sndb backup dry-run --path ./backups/metrics-20260602 --target ./data/metrics-restored
默认恢复前会先执行 verify。如需跳过校验:
sndb backup restore --path ./backups/metrics-20260602 --target ./data/metrics-restored --no-verify
如果备份时排除了全文索引,或希望恢复后立即同步补建派生索引,可以使用:
sndb backup restore --path ./backups/metrics-20260602 --target ./data/metrics-restored --rebuild-indexes
也可以对已恢复目录单独执行:
sndb backup rebuild-indexes --path ./data/metrics-restored
恢复后可以直接用本地连接打开:
sndb local --path ./data/metrics-restored --command "SHOW MEASUREMENTS"
索引与可重建数据
SonnetDB 备份 manifest 区分主数据和派生数据:
- 必需数据:catalog、schema、WAL、segment、tombstone、KV/table/document 主数据。
- 同步可重建索引:table secondary / table JSON path index、document JSON path index。
- 派生索引:document fulltext index、segment vector index、aggregate sketch 等会记录为可重建;全文索引可由
backup rebuild-indexes同步补建,measurement vector index 仍按 Segment 生命周期返回 planned 状态。
sndb backup restore 负责还原文件。服务端管理面还提供同一数据库下的 HTTP 维护入口:
| Endpoint | 操作 | 说明 |
|---|---|---|
POST /v1/db/{db}/maintenance |
health_check |
读取数据库健康摘要、segment / WAL / catalog / index 计数 |
POST /v1/db/{db}/maintenance |
rebuild_index |
重建 table secondary / table JSON path / document JSON path 索引,全文索引触发同步补建,向量索引返回 Segment 生命周期 planned 状态 |
POST /v1/db/{db}/maintenance |
backup_verify |
复用 manifest SHA-256 校验备份目录,仅 server admin 可调用 |
POST /v1/db/{db}/maintenance |
restore_dry_run |
校验备份和目标目录策略但不复制文件,仅 server admin 可调用 |
后台重建队列、定时策略、增量备份、远端对象存储、在线恢复和企业审计审批仍留给后续批次。