# 数据库依赖关系总结 **最后更新**: 2026-10-12 **状态**: ✅ 已确认 --- ## 📊 快速概览 | 组件 | 数据库 | 状态 | 用途 | |-----|--------|------|------| | **Momentry Studio** | SQLite | ✅ 使用中 | 本地数据 | | **Momentry Studio** | PostgreSQL | ❌ 遗留依赖 | 未使用 | | **MarkBase Core** | SQLite | ✅ 使用中 | 认证 | | **MarkBase Core** | PostgreSQL | ⚠️ 可选 | 未启用 | | **Momentry Core** | PostgreSQL | ✅ 使用中 | 核心数据 | | **Momentry Core** | Qdrant | ✅ 使用中 | 向量搜索 | | **Momentry Core** | MongoDB | ✅ 使用中 | 文档存储 | --- ## 📝 详细信息 ### Momentry Studio (前端) **SQLite** (`rusqlite 0.32`) - 搜索历史、书签、视频标记、用户认证 - 文件: `data/users/demo.sqlite` (2.9MB) - 表: 5 个 (search_history, bookmarks, video_marks, app_users, 等) **PostgreSQL** (`sqlx 0.8`) - ⚠️ 遗留依赖,未使用 - 建议: 移除以优化编译 --- ### MarkBase Core (文件管理) **SQLite** (`rusqlite 0.32`) - 用户认证、文件凭证 - 文件: `~/markbase/data/auth.sqlite` (104KB) **PostgreSQL** (`tokio-postgres 0.7`) - 可选功能,未启用 - 用途: 文件共享、高级权限 --- ### Momentry Core (后端 API) **PostgreSQL** (`sqlx 0.8` + `pgvector 0.3`) - 核心业务数据 - 向量搜索 (pgvector 扩展) - 连接: `postgresql://localhost:5432/momentry` **Qdrant** (`qdrant-client 1.7`) - 向量搜索、人脸嵌入 - 连接: `http://localhost:6333` **MongoDB** (`mongodb 2`) - 文档存储、分析结果 - 连接: `mongodb://localhost:27017/momentry` --- ## 🚀 部署要求 ### 必需服务 **前端** (Momentry Studio): - ✅ SQLite (内置,无需额外服务) **后端** (Momentry Core): - ✅ PostgreSQL 12+ (必需,需 pgvector 扩展) - ✅ Qdrant 1.7+ (必需) - ✅ MongoDB 5+ (必需) **文件管理** (MarkBase Core): - ✅ SQLite (内置,无需额外服务) --- ### 服务启动顺序 ```bash # 1. PostgreSQL pg_ctl start -D /usr/local/var/postgres createdb momentry psql -d momentry -c "CREATE EXTENSION vector;" # 2. MongoDB mongod --config /usr/local/etc/mongod.conf # 3. Qdrant qdrant & # 4. Momentry Core cd ~/momentry_core && ./start.sh # 5. MarkBase Core cd ~/markbase/markbase-core && ./start.sh # 6. Momentry Studio cd ~/momentry_studio && ./start.sh ``` --- ## 📂 文件结构 ``` momentry_studio/ ├── data/users/ │ └── demo.sqlite # Studio SQLite (2.9MB) └── docs/ ├── DATABASE_DEPENDENCIES.md # 完整依赖说明 ├── DATABASE_OPTIMIZATION.md # 优化建议 └── CLIENTVIEW_STORAGE_ARCHITECTURE.md markbase/data/ ├── auth.sqlite # MarkBase 认证 (104KB) └── users/ ├── accusys.sqlite # 用户数据 (可选) └── demo.sqlite # 用户数据 (可选) momentry_core/.env: ├── DATABASE_URL=postgres://localhost:5432/momentry ├── QDRANT_URL=http://localhost:6333 └── MONGODB_URL=mongodb://localhost:27017/momentry ``` --- ## 🔧 检查工具 ```bash # 运行数据库依赖检查 ./scripts/check_db_dependencies.sh # 用户管理工具 ./src-tauri/target/release/user_tool list ./src-tauri/target/release/user_tool init-demo ``` --- ## 📊 依赖关系图 ``` ┌─────────────────────────────┐ │ Momentry Studio (Tauri) │ │ │ │ ✅ SQLite (rusqlite) │ │ ❌ PostgreSQL (sqlx) [遗留] │ └────────────┬──────────────────┘ │ │ 依赖 ▼ ┌─────────────────────────────┐ │ MarkBase Core │ │ │ │ ✅ SQLite (rusqlite) │ │ ⚠️ PostgreSQL [可选] │ └─────────────────────────────┘ ┌─────────────────────────────┐ │ Momentry Core (API) │ │ │ │ ✅ PostgreSQL (sqlx) │ │ ✅ Qdrant │ │ ✅ MongoDB │ └─────────────────────────────┘ ``` --- ## ⚠️ 重要提示 ### 1. 移除遗留依赖 **建议移除 Momentry Studio 的 sqlx 依赖**: - 减少 30% 编译时间 - 减小 10% 二进制大小 - 降低依赖复杂度 详见: `docs/DATABASE_OPTIMIZATION.md` --- ### 2. 数据库初始化 **PostgreSQL**: ```bash createdb momentry psql -d momentry -c "CREATE EXTENSION vector;" ``` **Qdrant**: ```bash qdrant ``` **MongoDB**: ```bash mongosh --eval "db.getSiblingDB('momentry').createCollection('init')" ``` --- ## 📚 相关文档 1. **DATABASE_DEPENDENCIES.md** - 完整依赖说明 2. **DATABASE_OPTIMIZATION.md** - 优化建议 3. **CLIENTVIEW_STORAGE_ARCHITECTURE.md** - 文件存储架构 4. **scripts/check_db_dependencies.sh** - 检查脚本 --- ## 🎯 总结 ### 实际使用 **Momentry Studio**: SQLite **MarkBase Core**: SQLite **Momentry Core**: PostgreSQL + Qdrant + MongoDB ### 遗留依赖 Momentry Studio 的 sqlx (PostgreSQL) - 建议移除 ### 部署复杂度 - **前端**: 低 - 只需 SQLite (内置) - **后端**: 高 - 需要 PostgreSQL + Qdrant + MongoDB --- **Commit**: 643ad66 **状态**: ✅ 已确认所有数据库依赖