mcpField
D
discover-database

discover-database

github.com/rand数据与数据库190121 次安装35 周前更新
代码仓库

关于 discover-database

供 Claude Code 使用的数据库与缓存技能发现入口,会在相关工作中自动激活,并通过渐进加载提供设计、性能和迁移指导。

主要功能

  1. 01数据库主题中自动激活
  2. 02涵盖 19 项数据库与缓存技能
  3. 03提供常见任务工作流
  4. 04提供数据库选型指导
  5. 05关联其他技能领域

适用场景

  1. 01规划新的数据库项目
  2. 02排查慢查询
  3. 03准备数据库结构变更
  4. 04添加 Redis 缓存层

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rand/cc-polymath --skill discover-database

安装后在 Claude Code 中输入/discover-database确认已加载。

详细介绍

数据库技能发现

提供对全面的数据库设计、优化和实施技能的自动访问。

此技能的激活条件

在处理以下内容时,此技能会自动激活:

  • SQL 数据库(PostgreSQL、MySQL)
  • NoSQL 数据库(MongoDB、Redis)
  • 数据库架构设计与建模
  • 查询优化与性能调优
  • 数据库迁移与架构演进
  • 连接池配置
  • ORM 用法与模式
  • 数据库选择与架构决策
  • 缓存
  • 缓存
  • Redis
  • CDN
  • HTTP 缓存
  • 缓存失效
  • 性能
  • Service Workers

可用技能

快速参考

Database 类别包含 2 个子类别中的 19 项技能:

Database(12 项技能):

  1. postgres-schema-design - 架构设计、关系、数据类型、规范化
  2. postgres-query-optimization - EXPLAIN 计划、索引、慢查询调试
  3. postgres-migrations - 架构变更、零停机、回滚策略
  4. mongodb-document-design - 文档建模、嵌入与引用的取舍
  5. redis-data-structures - 缓存、会话、速率限制、排行榜
  6. database-connection-pooling - 连接池配置、连接池耗尽问题调试
  7. orm-patterns - ORM 最佳实践、预防 N+1 问题、预加载
  8. database-selection - 数据库选择、SQL 与 NoSQL 的决策

另有 4 项,位于 ../database/INDEX.md

Caching(7 项技能): 请参阅 ../caching/INDEX.md

加载完整类别详情

读取 ../database/INDEX.md 读取 ../caching/INDEX.md

常见工作流

新建数据库项目

顺序:选择 → 架构设计 → 连接池

读取 ../database/database-selection.md # 选择数据库 读取 ../database/postgres-schema-design.md # 或 mongodb-document-design.md 读取 ../database/database-connection-pooling.md

查询性能调试

顺序:优化 → 连接池 → ORM 模式

读取 ../database/postgres-query-optimization.md # 调试慢查询 读取 ../database/database-connection-pooling.md # 检查连接池设置 读取 ../database/orm-patterns.md # 修复 N+1 查询

架构演进

顺序:架构设计 → 迁移

读取 ../database/postgres-schema-design.md # 设计变更 读取 ../database/postgres-migrations.md # 安全实施

缓存层

顺序:Redis 数据结构 → 缓存模式

读取 ../database/redis-data-structures.md # Redis 模式 读取 ../caching/INDEX.md # 缓存模式

技能选择指南

PostgreSQL 技能(关系型、ACID、复杂查询):

  • postgres-schema-design.md - 设计关系型架构
  • postgres-query-optimization.md - 优化复杂查询
  • postgres-migrations.md - 随时间演进架构

MongoDB 技能(面向文档、架构灵活):

  • mongodb-document-design.md - 设计文档结构
  • 适用场景:架构灵活、嵌套数据、快速迭代

Redis 技能(内存中、键值、缓存):

  • redis-data-structures.md - 缓存、会话、速率限制
  • 适用场景:速度至关重要、缓存层、实时功能

跨数据库技能:

  • database-selection.md - 新项目从这里开始
  • database-connection-pooling.md - 所有数据库都需要连接池
  • orm-patterns.md - 使用 ORM 时(SQLAlchemy、Prisma、Mongoose)

与其他技能集成

数据库技能通常会与以下技能结合使用:

API 技能(discover-api):

  • API 端点 → 数据库查询
  • API 服务的连接池
  • 优化查询以提升 API 性能
  • 与 API 版本管理配套的迁移

后端语言技能(discover-backend):

  • Python:SQLAlchemy、psycopg2、PyMongo
  • Zig:PostgreSQL C 绑定
  • Rust:SQLx、Diesel
  • Go:database/sql、GORM

测试技能(discover-testing):

  • 使用测试数据库进行集成测试
  • 迁移测试
  • 查询性能测试
  • 数据测试夹具管理

数据管道技能(discover-data):

  • 从数据库进行 ETL
  • 将数据库用作数据源
  • 批量数据操作
  • 流式处理数据库变更(CDC)

可观测性技能(discover-observability):

  • 查询指标和慢查询日志
  • 连接池指标
  • 数据库性能监控
  • 告警配置

渐进式加载

此网关技能(约 200 行、约 2K 个令牌)支持渐进式加载:

  • 第 1 级:网关自动加载(你现在就在这里)
  • 第 2 级:加载类别 INDEX.md(约 3K 个令牌)以查看完整概览
  • 第 3 级:按需加载特定技能(每个约 2-4K 个令牌)

上下文总量:2K + 3K + 技能(若干)= 5-10K 个令牌;而整个索引需要 25K+ 个令牌。

快速入门示例

“为电商应用设计 PostgreSQL 架构”: 读取 ../database/postgres-schema-design.md

“为什么我的查询很慢?”: 读取 ../database/postgres-query-optimization.md

“如何安全地修改数据库架构?”: 读取 ../database/postgres-migrations.md

“我应该使用 MongoDB 还是 PostgreSQL?”: 读取 ../database/database-selection.md

“使用 Redis 实现缓存”: 读取 ../database/redis-data-structures.md

“修复 ORM 中的 N+1 查询”: 读取 ../database/orm-patterns.md

数据库类型决策树

Need ACID transactions? YES → PostgreSQL
Need complex queries/joins? YES → PostgreSQL
Need flexible schema? YES → MongoDB
Need real-time caching? YES → Redis
Need full-text search? YES → PostgreSQL (with extensions) or Elasticsearch
Need graph relationships? YES → Neo4j or PostgreSQL (with extensions)
Need analytics? YES → DuckDB or Redpanda + Iceberg

如需详细的决策指导: 读取 ../database/database-selection.md

PostgreSQL 重点领域

架构设计 → postgres-schema-design.md:

  • 表、列、数据类型
  • 主键、外键、约束
  • 规范化与反规范化
  • 索引策略

查询优化 → postgres-query-optimization.md:

  • EXPLAIN 和 EXPLAIN ANALYZE
  • 索引选择与创建
  • 查询计划分析
  • 性能调优

迁移 → postgres-migrations.md:

  • 架构变更策略
  • 零停机部署
  • 回滚流程
  • 迁移工具(Alembic、Flyway、migrate)

NoSQL 重点领域

MongoDB → mongodb-document-design.md:

  • 文档结构与嵌入
  • 引用与嵌入的权衡
  • 架构版本管理
  • 文档索引设计

Redis → redis-data-structures.md:

  • 字符串、哈希、列表、集合、有序集合
  • 缓存模式和 TTL
  • 会话存储
  • 限流实现
  • 排行榜和计数器

ORM 注意事项

使用 ORM 前,请加载: 读取 ../database/orm-patterns.md

常见 ORM 陷阱:

  • N+1 查询问题
  • 懒加载与预加载的混淆
  • 事务管理
  • 必要时使用原始 SQL
  • 迁移生成

支持的 ORM:

  • SQLAlchemy(Python)
  • Prisma(TypeScript/Node.js)
  • Diesel(Rust)
  • GORM(Go)
  • ActiveRecord(Ruby)
  • Entity Framework(C#)

使用说明

  1. 自动激活:Claude Code 检测到数据库相关工作时,此技能会自动加载
  2. 浏览技能:运行 Read ../database/INDEX.md 查看完整类别概览
  3. 加载特定技能:使用上面的 bash 命令加载单项技能
  4. 遵循工作流:针对常见模式使用推荐的步骤
  5. 辅助决策:新项目从 database-selection.md 开始

后续步骤:运行 Read ../database/INDEX.md 查看完整类别详情,或使用上面的 bash 命令加载特定技能。

评论

支持 Markdown