技能 Database Architect
🏛️

Database Architect

安全

设计可扩展的数据库架构

选择错误的数据库或糟糕的模式设计会导致代价高昂的返工和性能问题。本技能提供关于数据库技术选型、数据建模和架构设计的专家指导,帮助从一开始就构建可扩展的数据层。

支持: Claude Codex Code(CC)
🥉 72 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“Database Architect”。 为包含用户、文章、评论和标签的博客平台设计模式。

预期结果:

推荐的模式包括:users 表(id、email、created_at)、具有外键关联到 users 的 posts 表、具有自引用 parent_id 用于线程的 comments 表、具有多对多连接表 post_tags 的 tags 表。在 posts.user_id、comments.post_id 上建立索引,在 posts.title 和 content 上建立全文索引。

正在使用“Database Architect”。 我应该使用 Redis 还是 PostgreSQL 进行会话存储?

预期结果:

当您需要快速访问、通过 TTL 自动过期和水平扩展时,使用 Redis 进行会话存储。当会话需要在 Redis 重启后仍然存在、需要复杂查询或必须参与数据库事务时,使用 PostgreSQL。对于大多数 Web 应用,使用 PostgreSQL 持久化的 Redis 提供最佳平衡。

安全审计

安全
v1 • 2/24/2026

Static analysis scanned 0 files with risk score 0/100. Evaluation confirms this is a prompt-only skill with no executable code. The skill provides database architecture guidance through instructional text only. No dangerous patterns, network access, or code execution vectors detected. Safe for publication.

0
已扫描文件
0
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
74
规范符合性

你能构建什么

绿地平台设计

为新的 SaaS 平台设计完整的数据库架构,包括技术选型、模式设计和扩展策略。

数据库迁移规划

创建详细的迁移计划,从单体 MySQL 数据库迁移到具有多语言持久化的微服务架构。

NoSQL 模式设计

使用 MongoDB 或 DynamoDB 为高速分析仪表板设计文档模式和访问模式。

试试这些提示

基础技术选型
我正在构建一个新应用,需要存储用户资料、交易和活动日志。该应用预计初期有 10,000 日活跃用户。帮助我选择合适的数据库技术并解释权衡。
模式设计请求
为多租户项目管理工具设计数据库模式。每个租户包含用户、项目、任务和评论。展示所需的表、关系和关键索引。
迁移策略规划
我们需要从单个 MySQL 实例迁移到支持 1 亿以上记录的分片架构。创建具有阶段、回滚程序和成功标准的零停机迁移计划。
高级 CQRS 架构
为订单管理系统设计 CQRS 事件源架构。包括事件存储设计、读模型投影、快照策略,以及如何随时间处理模式演进。

最佳实践

  • 在选择数据库技术之前,始终了解访问模式和扩展需求
  • 从规范化开始,然后根据测量的查询性能有选择地进行反规范化
  • 规划具有自动回滚程序的迁移,并在预发布环境中充分测试

避免

  • 在不了解运维复杂性的情况下选择流行数据库
  • 对读密集型工作负载过度规范化导致过多的 JOIN 操作
  • 在生产迁移之前跳过备份和回滚规划

常见问题

我应该为我的初创公司选择什么数据库?
对于大多数应用,从 PostgreSQL 开始。它能很好地处理关系数据,支持 JSON 以增加灵活性,并可扩展到数百万用户。仅当您有特定需求(如时间序列数据、图关系或大量写入吞吐量)时,才切换到专用数据库。
我如何知道何时应该分片我的数据库?
当垂直扩展变得成本过高、写入吞吐量超过单节点容量或数据量影响备份和维护窗口时,考虑分片。在分片之前,首先通过读副本、缓存和查询优化进行优化。
我应该使用 ORM 还是编写原始 SQL?
对于 CRUD 操作和类型安全,使用 Prisma 或 SQLAlchemy 等 ORM。对于复杂分析查询、批量操作或当 ORM 生成低效查询时,编写原始 SQL。许多团队同时使用两者:ORM 用于标准操作,原始 SQL 用于性能关键路径。
我如何设计多租户架构?
存在三种方法:带有 tenant_id 列的共享模式(最简单)、每租户独立模式(更好的隔离)或每租户独立数据库(最大隔离)。从共享模式和 tenant_id 开始。为满足合规要求或高价值企业客户,升级到独立模式或数据库。
我应该使用什么索引策略?
对 WHERE 子句、JOIN 条件和 ORDER BY 语句中使用的列建立索引。对于多列查询,使用复合索引,将选择性最高的列放在前面。监控慢查询日志以识别缺失的索引。避免对写密集型表过度索引,因为每个索引都会增加写入开销。
我如何实现零停机迁移?
使用扩展 - 收缩模式:首先添加新模式与旧模式并存(扩展),通过双写增量迁移数据,验证一致性,将读取切换到新模式,然后移除旧模式(收缩)。始终具有回滚程序并在预发布环境中测试完整迁移。

开发者详情

文件结构

📄 SKILL.md