Polish project documentation and runtime config
This commit is contained in:
103
docs/DATA_SNAPSHOTS.md
Normal file
103
docs/DATA_SNAPSHOTS.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# 数据快照说明
|
||||
|
||||
仓库内置数据库快照,目的是让用户 clone 后可以直接恢复 `new2` 图谱系统,而不需要重新采集、抽取和发布数据。
|
||||
|
||||
## 快照文件
|
||||
|
||||
| 文件 | 类型 | 用途 |
|
||||
| --- | --- | --- |
|
||||
| `snapshots/postgres/kg_admin_new2.dump` | PostgreSQL custom dump | 恢复后台业务库、账号、项目、候选实体、审核数据等 |
|
||||
| `snapshots/falkordb/dump.rdb` | FalkorDB RDB | 恢复图数据库中的业务图和空间图 |
|
||||
|
||||
默认数据:
|
||||
|
||||
| 项 | 值 |
|
||||
| --- | --- |
|
||||
| PostgreSQL database | `kg_admin` |
|
||||
| PostgreSQL schema | `kg_admin_new2` |
|
||||
| FalkorDB 业务图 | `guiyang_new2` |
|
||||
| FalkorDB 空间图 | `guiyang_spatial_v1` |
|
||||
| 空间 POI | 约 `80609` 条 |
|
||||
| 候选实体 | 约 `37457` 条 |
|
||||
|
||||
## 恢复流程
|
||||
|
||||
Docker Compose 首次启动时会自动恢复:
|
||||
|
||||
1. `postgres` 容器创建数据卷。
|
||||
2. `docker/postgres-init/01-restore-snapshot.sh` 使用 `pg_restore` 恢复 PostgreSQL 快照。
|
||||
3. 脚本把演示管理员密码重置为 `change-me`。
|
||||
4. `falkordb-seed` 容器把 `dump.rdb` 复制到 FalkorDB 数据卷。
|
||||
5. `falkordb` 容器读取 RDB 并加载图数据。
|
||||
|
||||
如果数据卷已存在,初始化不会重复执行。需要重置时运行:
|
||||
|
||||
```bash
|
||||
docker compose down -v
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
## 校验数据
|
||||
|
||||
PostgreSQL:
|
||||
|
||||
```bash
|
||||
docker compose exec postgres psql -U admin -d kg_admin \
|
||||
-c "SELECT COUNT(*) FROM kg_admin_new2.amap_spatial_pois;"
|
||||
```
|
||||
|
||||
候选实体:
|
||||
|
||||
```bash
|
||||
docker compose exec postgres psql -U admin -d kg_admin \
|
||||
-c "SELECT COUNT(*) FROM kg_admin_new2.candidate_entities;"
|
||||
```
|
||||
|
||||
FalkorDB 图列表:
|
||||
|
||||
```bash
|
||||
docker compose exec falkordb redis-cli -p 6379 GRAPH.LIST
|
||||
```
|
||||
|
||||
快照文件哈希:
|
||||
|
||||
```bash
|
||||
shasum -a 256 snapshots/postgres/kg_admin_new2.dump snapshots/falkordb/dump.rdb
|
||||
```
|
||||
|
||||
当前发布快照的参考哈希:
|
||||
|
||||
```text
|
||||
c70a3fe2730cd40a96e729097cef1eb39c66498371b88b2e36e985c923043e75 snapshots/postgres/kg_admin_new2.dump
|
||||
dde96ac99bff58d18bb00e84939772d8a4efc4893aeeae02329aa893ae51f247 snapshots/falkordb/dump.rdb
|
||||
```
|
||||
|
||||
## 重新导出快照
|
||||
|
||||
如果本机仍保留 `new2` 原始容器,可以运行:
|
||||
|
||||
```bash
|
||||
bash scripts/export_snapshots.sh
|
||||
```
|
||||
|
||||
脚本默认从以下容器导出:
|
||||
|
||||
| 容器 | 用途 |
|
||||
| --- | --- |
|
||||
| `zn-kg-new2-postgres` | 导出 `kg_admin_new2` schema |
|
||||
| `zn-kg-new2-falkordb` | 触发 `BGSAVE` 并复制 `dump.rdb` |
|
||||
|
||||
导出后请验证:
|
||||
|
||||
```bash
|
||||
ls -lh snapshots/postgres/kg_admin_new2.dump snapshots/falkordb/dump.rdb
|
||||
shasum -a 256 snapshots/postgres/kg_admin_new2.dump snapshots/falkordb/dump.rdb
|
||||
```
|
||||
|
||||
## 仓库边界
|
||||
|
||||
`data/`、浏览器 profile、日志、缓存和本地 Docker 数据卷不进入 Git。它们是运行过程或采集过程中的临时产物,不适合作为 GitHub 项目内容。系统可复现所需的数据已经收敛到 `snapshots/`、`schema搭建/`、`docs/` 和源码目录中。
|
||||
|
||||
## GitHub 文件大小提醒
|
||||
|
||||
GitHub 单文件硬限制为 100 MB。当前两个快照均低于该限制。后续如果快照继续增大,建议改用 Git LFS、Release Asset 或对象存储,并在 README 中保留下载和恢复说明。
|
||||
Reference in New Issue
Block a user