← ClaudeAtlas

database-opslisted

【数据库运维】数据库设计与运维全流程。触发时机:用户说"设计数据库"、"建表"、"数据库选型"、"生成索引"、"迁移脚本"时。
afine907/skills · ★ 0 · Data & Documents · score 75
Install: claude install-skill afine907/skills
# Database Ops — 数据库设计与运维全流程 自然语言描述 → 完整数据库方案(选型 + DDL + 索引 + 迁移脚本 + 性能建议),一次输出。 不适用:已有数据库的运维操作(直连数据库执行);纯 ORM 模型定义(非数据库设计);数据备份恢复脚本。 ## Goal 数据库设计与运维全流程技能。自然语言描述 → 数据库选型 + 表结构设计 + 索引策略 + 迁移脚本 + 性能调优 ## Trigger - 用户说"设计数据库"、"建表"、"数据库选型" - 用户要求生成索引策略、迁移脚本、性能调优建议 - 用户描述业务场景需要推荐数据库类型和表结构 ## 工作流程 ``` 描述需求 → 选择数据库 → 设计表结构 → 设计索引 → 生成迁移脚本 → 性能建议 ``` ### Step 1: 收集需求 从用户描述中提取: - **业务场景**:电商、社交、SaaS、IoT、游戏、金融等 - **数据规模**:预估行数、增长速度 - **读写比例**:读多写少 / 写多读少 / 均衡 - **一致性要求**:强一致 / 最终一致 - **已有技术栈**:Go/Python/Java/Node.js、已有 ORM - **业务实体**:用户提到的表/实体及其关系 如果信息不足,询问 1-2 个关键问题,不要过度追问。 ### Step 2: 选择数据库 根据业务场景匹配数据库类型,读取 [references/database-comparison.md](references/database-comparison.md) 获取全品类选型指南。 **选型决策流**: 1. 确定数据模型 → 关系/文档/图/时序/向量 2. 确定访问模式 → OLTP/OLAP/搜索/缓存 3. 考虑规模、一致性、运维复杂度 | 数据模型 | 推荐数据库 | |----------|-----------| | 结构化关系数据 | MySQL / PostgreSQL | | 灵活文档 schema | MongoDB | | 缓存/会话/排行榜 | Redis | | 社交关系/推荐 | Neo4j / NebulaGraph | | 监控指标/时序 | TimescaleDB / VictoriaMetrics | | 全文搜索/日志 | Elasticsearch / MeiliSearch | | 向量检索/RAG | pgvector / Milvus / Qdrant | | 实时分析/OLAP | ClickHouse / StarRocks | | 事件流/消息 | Kafka / RabbitMQ | | 分布式强一致 | TiDB / CockroachDB / OceanBase | | 嵌入式/单机 | SQLite / DuckDB | ### Step 3: 设计表结构 读取 [references/schema-design.md](references/schema-design.md) 获取各数据库的表设计模式。 生成内容: - DDL(CREATE TABLE)含字段类型、约束、默认值 - 字段命名规范(snake_case、有意义的名称) - 必要字段:id、created_at、updated_at、is_deleted(软删除) - 外