Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+21 more

    Database Design Engine

    1

    DB type routing, selection decision tree, relational/NoSQL design, performance optimization, 2026 trends.

    Free

    28 usesSecurity scanned

    Database Design Engine

    Example session with this skill installed

    Help with database

    • Read your context and instructions
    • Compiled the database design engine

    Database Design Engine

    Structured analysis with routing and next steps.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    数据库设计决策引擎

    专家级数据库选型与设计指导,助你做出最优技术决策

    📋 技能概述

    本技能为开发者提供全链路数据库设计决策支持,从选型评估到具体设计实现,涵盖关系型、NoSQL、NewSQL 及新兴数据库类型。

    适用场景:新项目数据库选型、现有架构优化、技术债务重构、性能瓶颈诊断


    1️⃣ 数据库类型路由

    1.1 七大数据库类型速查

    类型代表产品核心优势最佳场景
    关系型 (RDBMS)PostgreSQL, MySQL, Oracle, SQL ServerACID、SQL成熟、生态完善事务核心系统、金融、ERP、核心业务
    文档型 (Document)MongoDB, Couchbase灵活Schema、高扩展性内容管理、用户画像、日志系统
    键值 (Key-Value)Redis, DynamoDB, etcd超高读写、低延迟缓存、会话存储、配置中心、队列
    图数据库 (Graph)Neo4j, TigerGraph, Neptune关系遍历高效社交网络、推荐系统、反欺诈、知识图谱
    时序数据库 (TSDB)InfluxDB, TimescaleDB, TDengine时序压缩、高效聚合IoT传感器、监控指标、金融K线、运维监控
    搜索引擎 (Search)Elasticsearch, OpenSearch, Meilisearch全文检索、复杂聚合日志分析、全文搜索、分析报表
    列式存储 (Columnar)ClickHouse, Apache Druid, Cassandra列压缩、OLAP高效数据仓库、实时分析、BI报表

    1.2 类型选择决策矩阵


    2️⃣ 选型决策树

    2.1 四维度评估模型

    2.2 决策树核心路径

    2.3 2026年选型推荐图谱


    3️⃣ 关系型数据库设计

    3.1 ER建模规范

    实体识别原则

    • 每个实体对应一个业务对象
    • 实体名使用名词,单数形式
    • 主键必须有明确的业务含义或使用代理键

    关系类型

    关系含义示例ER表示
    1:1一对一用户-账户○──○
    1:N一对多部门-员工○──←
    N:M多对多学生-课程←──→

    ER图示例:电商订单系统

    3.2 范式化设计

    三范式定义

    范式要求示例
    1NF原子性:字段不可再分❌ 电话:13812345678,010-123 ❌ → ✅ 电话:13812345678, 区号:010
    2NF完全函数依赖:非主键字段完全依赖主键学生成绩表(学号,课程号,学生名,成绩) → 学生名只依赖学号,非完全依赖
    3NF传递依赖:非主键字段不依赖其他非主键订单表(订单号,商品ID,商品类别,商品名称) → 消除商品类别→商品ID的传递依赖

    范式选择决策

    3.3 反范式化策略

    常用反范式技术

    技术做法适用场景风险
    列冗余将常用字段复制到多表用户名在订单表中重复存储更新时需同步
    表合并预JOIN成宽表固定关联的统计报表数据膨胀
    派生字段冗余计算结果订单总额、评分均分值可能过期
    预聚合存储汇总结果日报表、月报表实时性差

    反范式化执行清单

    • 确认数据更新频率 < 1%/天
    • 评估存储成本增加(通常10-30%)
    • 建立数据同步机制(触发器/定时任务/CDC)
    • 设计数据一致性校验脚本

    3.4 索引策略

    索引类型选择

    类型语法示例适用场景开销
    B-Tree (默认)INDEX idx_a(a)范围查询、排序、等值查询写入+15%,存储+30%
    复合索引INDEX idx_a_b(a,b)多条件查询遵循最左前缀原则
    唯一索引UNIQUE INDEX idx_u(a)唯一性约束写入+10%
    全文索引FULLTEXT INDEX ft(title,content)文本搜索存储+50%,写入+30%
    哈希索引INDEX idx_h(a) USING HASH等值查询,范围查询差内存消耗大
    空间索引SPATIAL INDEX sp(geom)GIS查询存储+20%

    复合索引最左前缀原则

    索引设计决策流程

    3.5 分库分表策略

    分片策略选择

    策略原理优点缺点适用场景
    哈希分片shard = hash(key) % n数据均匀范围查询困难ID为主键
    范围分片按ID区间或时间分片范围查询友好热点问题时序数据
    目录分片映射表记录分片位置灵活单点查询异构数据
    复合分片哈希+时间组合均衡+局部有序复杂度高超大规模

    分库分表决策树

    分片键选择标准

    1. 高基数:至少有 > 1000 个不同值
    2. 均匀分布:避免数据倾斜导致热点
    3. 查询亲合:大多数查询包含分片键
    4. 稳定低频:避免更新导致数据迁移

    常用分片键推荐

    业务场景推荐分片键备选分片键
    电商-多商户tenant_iduser_id
    社交-用户数据user_idregion_id
    物联网-设备数据device_idtimestamp
    金融-交易记录user_idmerchant_id
    日志系统timestampsource_id

    4️⃣ NoSQL 设计

    4.1 文档模型设计

    Schema-less vs Schema-on-Read

    文档设计三原则

    1. 数据内聚原则:相关数据应存储在同一文档

    2. 文档大小限制:单文档建议 < 16KB

      • 超过1MB需考虑拆分
      • MongoDB硬限制 16MB
    3. 避免深层嵌套:嵌套层级 ≤ 3层

    4.2 嵌入 vs 引用

    决策矩阵

    因素嵌入 (Embed)引用 (Reference)
    数据关系1:1, 1:N (子文档少)1:N (子文档多), N:M
    查询模式整体读取独立访问子文档
    更新频率子文档更新不频繁频繁独立更新
    数据一致性需强一致可最终一致
    文档大小< 16KB不限

    4.3 分片键选择 (MongoDB)

    选择标准

    标准要求风险
    基数 (Cardinality)高基数,>数据量/100低基数导致分布不均
    频率 (Frequency)值分布均匀热点键导致单分片压力
    非升序避免单调递增写入写热点集中在最后chunk
    查询包含常见查询都包含此字段广播查询性能差

    5️⃣ 性能优化

    5.1 慢查询分析

    MySQL慢查询诊断流程

    关键指标解读

    指标健康值警告值优化方向
    Rows_examined< 1000> 10000增加索引
    Rows_sent< 100> 1000减少返回量
    Duration< 100ms> 1000ms优化执行计划
    Using_filesort不应出现出现即优化添加ORDER BY索引

    5.2 索引优化实战

    优化检查清单

    索引优化决策表

    问题症状解决方案
    全表扫描type=ALL添加WHERE条件索引
    索引失效Using filesort添加排序列到索引
    低选择性索引区分度低联合索引或换个字段
    过时统计执行计划不准ANALYZE TABLE
    索引过多写入性能下降删除无用索引

    5.3 缓存策略

    缓存架构设计

    缓存策略选择

    策略描述TTL数据一致性适用场景
    Cache-Aside应用自主管理缓存中等最终一致通用场景
    Read-Through缓存自动加载可配置读取一致简化应用
    Write-Through同步写缓存+DB中等强一致写少读多
    Write-Behind异步写DB短可能丢数据高写入
    TTL过期定时过期短弱一致实时性要求低

    5.4 读写分离

    架构模式


    6️⃣ 2026年趋势

    6.1 向量数据库

    定位:AI时代的必备组件,存储和检索高维向量

    代表产品对比

    产品特点适用场景选型建议
    Milvus开源、功能全面、性能强企业级生产首选
    Pinecone全托管、零运维快速上线SaaS优先
    QdrantRust实现、API友好中小规模个人/小团队
    Weaviate原生多模态图文混合多模态需求
    pgvectorPG扩展已有PG栈轻量需求

    6.2 Serverless数据库

    核心价值:按需扩缩容,零运维成本

    产品矩阵

    产品类型亮点限制
    PlanetScale (MySQL)分支式ServerlessGit式分支、工作流无触发器
    Neon (PostgreSQL)分支式Serverless秒级分支、按量计费弱约束
    Turso (libSQL)边缘嵌入式嵌入式、多区域生态较新
    Upstash (Redis)Serverless Redis按请求计费无持久化需求

    6.3 AI辅助数据库优化

    AIOps数据库趋势

    方向工具/能力价值
    智能索引推荐TiDB Dashboard、DBAHelper自动分析工作负载推荐索引
    自适应索引AI4DB Research动态创建/删除索引
    查询优化阿里云DAS、腾讯云CDB自动SQL调优
    异常检测预测性容量规划提前发现瓶颈
    自然语言查询ChatSQL、Text2SQL降低SQL门槛

    7️⃣ 质量门控清单

    P0 - 必须项 (上线前必须通过)

    • 数据完整性

      • 主键唯一性约束已设置
      • 外键关系正确(级联策略已定义)
      • 必填字段非空约束已设置
      • 边界值/范围约束已验证
    • 索引完整性

      • 所有WHERE条件字段有索引支持
      • 所有ORDER BY字段有索引支持
      • 无冗余索引
      • 索引大小可控(单表索引数 < 8)
    • 查询性能

      • 核心查询响应时间 < 100ms
      • 无全表扫描(除小表)
      • EXPLAIN执行计划已审查
      • 连接池配置合理
    • 备份恢复

      • 备份策略已制定(RPO < 1小时)
      • 恢复流程已演练
      • 备份可正常恢复

    P1 - 重要项 (建议在上线前完成)

    • 容量规划

      • 未来3年数据增长预估
      • 存储空间充足
      • 分库分表方案已规划
    • 安全加固

      • 敏感字段加密(AES-256)
      • SQL注入防护
      • 最小权限原则(应用账户限制DELETE/DROP)
      • 审计日志已开启

    P2 - 优化项 (可在上线后持续改进)

    • 性能优化
      • 查询缓存策略已制定
      • 热点数据已识别并优化
      • 批量操作优化

    8️⃣ 常见错误模式

    错误1: 过度设计索引

    症状: 写入性能差,索引比数据还大

    原因:

    • 认为"索引越多查询越快"
    • 未定期清理无用索引
    • 复合索引设计不当

    解决方案:

    错误2: 滥用外键约束

    症状: 高并发写入死锁,水平扩展困难

    原因:

    • 关系型数据库习惯性加外键
    • 未评估级联删除/更新的性能影响

    解决方案:

    错误3: 忽视数据类型选择

    症状: 存储膨胀,查询变慢,精度问题

    原因:

    • VARCHAR(255) 万能字段
    • DECIMAL vs FLOAT 混用
    • DATETIME vs TIMESTAMP 不分

    解决方案:

    场景推荐类型存储节省
    IP地址存储VARBINARY(16)50%
    金额计算DECIMAL(18,2)精确
    布尔标志TINYINT(1)1字节
    状态枚举ENUM/TINYINT小且快
    时间戳TIMESTAMP(UTC)4字节

    9️⃣ 扩展代码库

    9.1 数据库设计代码生成器

    9.2 数据库性能监控工具


    🔟 扩展数据表格

    10.1 数据库选型完整对比表 (2026年Q1)

    数据库类型厂商适用场景开源分布式成熟度学习曲线推荐度
    关系型
    PostgreSQL 16+关系型社区通用OLTP/复杂查询✅❌(需扩展)⭐⭐⭐⭐⭐中等⭐⭐⭐⭐⭐
    MySQL 8.0/8.4关系型Oracle→MariaDBWeb应用/OLTP✅❌(需中间件)⭐⭐⭐⭐⭐低⭐⭐⭐⭐
    TiDB 7.xNewSQLPingCAPHTAP/水平扩展✅✅⭐⭐⭐⭐中等⭐⭐⭐⭐
    CockroachDBNewSQLCockroachLabs全球部署/强一致✅✅⭐⭐⭐⭐高⭐⭐⭐
    SingleStoreNewSQLSingleStore分析+事务部分✅⭐⭐⭐中等⭐⭐⭐
    文档型
    MongoDB 7.0文档型MongoDB内容管理/灵活Schema✅✅⭐⭐⭐⭐⭐低⭐⭐⭐⭐
    Couchbase 7文档型Couchbase移动/边缘/缓存部分✅⭐⭐⭐⭐中等⭐⭐⭐
    键值型
    Redis 7键值型Redis Inc缓存/会话/队列✅✅(集群)⭐⭐⭐⭐⭐低⭐⭐⭐⭐⭐
    etcd 3.5键值型CNCF配置中心/服务发现✅✅⭐⭐⭐⭐中等⭐⭐⭐⭐
    DynamoDB键值型AWSServerless/无限扩展❌✅⭐⭐⭐⭐⭐中等⭐⭐⭐⭐
    时序型
    InfluxDB 2.7时序型InfluxDataIoT/监控指标✅✅(集群)⭐⭐⭐⭐中等⭐⭐⭐⭐
    TDengine 3.0时序型涛思数据IoT/车联网✅✅⭐⭐⭐⭐低⭐⭐⭐⭐
    TimescaleDB 2.12时序型Timescale时序+关系✅✅⭐⭐⭐⭐低⭐⭐⭐⭐
    图数据库
    Neo4j 5.x图数据库Neo4j社交/推荐/反欺诈✅(社区)✅(集群)⭐⭐⭐⭐⭐中等⭐⭐⭐⭐
    TigerGraph 3.10图数据库TigerGraph大规模图分析❌✅⭐⭐⭐⭐高⭐⭐⭐
    搜索引擎
    Elasticsearch 8.x搜索引擎Elastic日志/全文搜索✅✅⭐⭐⭐⭐⭐中等⭐⭐⭐⭐
    Meilisearch 1.6搜索引擎Meilisearch轻量级搜索✅❌⭐⭐⭐低⭐⭐⭐⭐
    列式存储
    ClickHouse 24.x列式存储ClickHouse数据仓库/实时分析✅✅⭐⭐⭐⭐中等⭐⭐⭐⭐⭐
    Apache Druid列式存储Druid社区实时OLAP✅✅⭐⭐⭐⭐高⭐⭐⭐⭐
    向量数据库
    Milvus 2.4向量存储ZillizAI向量检索✅✅⭐⭐⭐⭐中等⭐⭐⭐⭐⭐
    Pinecone向量存储PineconeServerless向量❌✅⭐⭐⭐⭐低⭐⭐⭐⭐
    pgvector向量扩展PostgreSQL轻量向量检索✅✅(PG集群)⭐⭐⭐⭐低⭐⭐⭐⭐

    10.2 数据库设计模式速查表

    模式名称适用场景优点缺点实现示例
    CQRS读写分离/复杂查询解耦读写/性能优化复杂度高命令端写MySQL,查询端用ES
    事件溯源审计/历史追踪完整历史/可重放存储大/查询复杂订单变更记录事件而非状态
    冷热分离历史数据查询少成本优化/性能提升数据迁移复杂近期数据存MySQL,历史存ClickHouse
    读写分离读多写少场景扩展读能力/降低负载数据延迟/一致性MySQL主从+ProxySQL
    分库分表超大规模数据突破单机容量跨库查询复杂ShardingSphere中间件
    多模数据库混合负载单一数据源资源竞争MongoDB同时存储文档和向量
    Lambda架构批流一体实时+历史兼顾维护成本高Kafka+Flink+HBASE

    ⑪ 数据库设计SOP流程


    📚 参考资源

    官方文档

    • MySQL 8.4: [URL removed]
    • PostgreSQL 16: [URL removed]
    • MongoDB 7.0: [URL removed]
    • Redis 7: [URL removed]

    性能工具

    • pt-query-digest: [URL removed]
    • EXPLAIN ANALYZE: 各数据库内置
    • slow_query_log: MySQL内置

    设计模式

    • Database of Databases: [URL removed]
    • CAP Theorem Illustrated: [URL removed]

    最后更新: 2026-01 版本: v1.0

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before any payment.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    28 uses

    Times used to date

    Free forever

    No account required to browse

    Trust & safety

    Security scan

    Security scan passed 4 months ago

    • Free with an Agensi account

    Permissions

    Read Files

    File Scopes

    database-design-engine/**

    No API needed

    Listed4 months ago

    What's inside

    Frequently Asked Questions

    DB type routing, selection decision tree, relational/NoSQL design, performance optimization, 2026 trends.

    No, works out of box.

    Decision routing, not generic advice.

    Yes, with quality checklists.