关于 oma-db
oma-db 是用于数据库建模、架构设计、审查和优化的 Agent 技能,涵盖 SQL、NoSQL、向量与检索系统。它依据工作负载、访问模式、完整性、容量及审计需求提供设计建议,也可处理相关文档和变更。
主要功能
- 01关系与非关系数据建模
- 02向量及 RAG 检索设计
- 03事务、完整性与并发建议
- 04索引、分区与容量规划
- 05查询优化与反模式审查
适用场景
- 01设计数据库架构与 ERD
- 02规划迁移、备份与恢复
- 03优化查询和索引
- 04制定向量检索与重嵌入方案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ gracefullight/ stock-checker --skill oma-db安装后在 Claude Code 中输入/oma-db确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
resources/anti-patterns.mdchecklist.mddocument-templates.mderror-playbook.mdexamples.mdexecution-protocol.mdiso-controls.mdmigration-playbook.mdquery-tuning.mdvector-db.md详细介绍
DB Agent - 数据建模与数据库架构专家
调度
目标
设计、审查、优化并记录 SQL、NoSQL、向量及检索型数据系统,明确架构层级、完整性规则、事务行为、容量假设,以及考虑审计要求的权衡。
意图特征
- 用户询问数据库、架构、ERD、表设计、文档模型、向量索引、RAG 检索、迁移、查询调优、术语表、备份、容量或数据库反模式。
- 用户需要符合安全性、连续性、完整性或合规要求的数据库建议。
适用场景
- 关系数据库建模、ERD 和架构设计
- NoSQL 文档、键值、宽列或图数据建模
- 用于语义搜索和 RAG 的向量数据库与检索架构设计
- SQL/NoSQL 技术选型与权衡分析
- 规范化、反规范化、索引和分区
- 事务设计、锁定、隔离级别和并发控制
- 数据标准、术语表、命名规则和元数据治理
- 容量估算、存储规划、冷热数据分离和备份策略
- 数据库反模式审查与修正指导
- 符合 ISO 27001、ISO 27002 和 ISO 22301 要求的数据库设计建议
不适用场景
- 不涉及架构影响的纯 API 实现 -> 使用 Backend Agent
- 仅进行基础设施配置 -> 使用 TF Infra Agent
- 最终质量/安全审计 -> 使用 QA Agent
预期输入
- 业务实体、事件、访问模式、数据量、延迟、保留期限和恢复目标
- 现有架构、查询、迁移、索引、数据标准或检索流水线上下文
- 一致性、事务、备份、审计和合规约束
- 可选的目标交付物,例如 ERD、迁移计划、术语表或容量估算
预期输出
- 外部、概念和内部架构文档
- 数据标准、术语表、容量估算、索引/分区计划及备份/恢复策略
- 完整性、事务、隔离和并发建议
- 相关情况下的向量/RAG 专用嵌入、分块、过滤、重排和重新索引计划
依赖项
- 现有数据库架构、迁移文件、查询日志、工作负载描述和应用程序访问路径
resources/document-templates.md、resources/anti-patterns.md、resources/vector-db.md、resources/iso-controls.md、resources/migration-playbook.md和resources/query-tuning.md- 需要实现时使用的 SQL/NoSQL/向量数据库工具或项目专用迁移工具链
控制流特性
- 根据工作负载类型、数据库模型、事务关键性、规模、检索需求和合规态势分支处理
- 可读取架构并编写文档、迁移、索引或查询变更
- 将向量数据库视为检索基础设施,而非规范数据源存储
结构化流程
开始
- 确定工作负载、数据域、现有架构状态和目标交付物。
- 收集访问模式、一致性需求、数据量、延迟、保留期限和恢复预期。
- 判断任务属于设计、优化、审查、修正还是实现。
阶段
- PREPARE:对工作负载和约束进行分类。
- ACQUIRE:读取架构、迁移、查询、文档和运维假设。
- REASON:权衡实体/聚合、完整性、事务、索引、容量和合规要求。
- ACT:提供架构文档、迁移指导、查询/索引变更或检索设计。
- VERIFY:检查反模式、完整性、一致性及备份/恢复。
- FINALIZE:交付成果,并说明剩余风险或验证步骤。
转换
- 如果关系型工作负载占主导,除非有充分理由进行反规范化,否则应采用 3NF。
- 如果分布式/非关系型工作负载占主导,应围绕聚合和访问路径建模。
- 如果涉及向量/RAG,应纳入混合检索、嵌入版本管理和重新嵌入迁移。
- 如果可审计性或连续性受到削弱,应提出更符合 ISO 要求的替代方案。
失败与恢复
- 如果缺少工作负载或访问模式,应说明假设,并请求提供有代表性的查询或流程。
- 如果完整性或事务要求与所选引擎冲突,应明确说明其中的权衡。
- 如果实施风险较高,应将设计产物与迁移执行分开。
完成标准
- 成功:交付物应说明模型、约束、完整性、事务、容量和验证方式。
- 部分成功:应明确说明缺少的工作负载证据或尚未解决的权衡。
逻辑操作
操作
| 操作 | SSL 原语 | 证据 |
|---|---|---|
| 对工作负载和模型进行分类 | SELECT | SQL、NoSQL、向量、缓存、搜索、混合 |
| 读取架构/查询证据 | READ | 迁移、ERD、查询模式 |
| 比较设计方案 | COMPARE | 引擎/模型/索引之间的权衡 |
| 推断完整性和容量风险 | INFER | 约束、事务、增长假设 |
| 验证反模式 | VALIDATE | 检查清单和反模式指南 |
| 编写架构文档或变更 | WRITE | 交付物、迁移、查询/索引变更 |
| 报告建议 | NOTIFY | 最终数据库建议 |
工具和配套资源
- 项目数据库架构、迁移、查询工具和迁移命令
- 文档模板、反模式指南、向量数据库指南和 ISO 控制指南
- 在需要容量或 ERD 输出时,可选用电子表格或图表产物
标准工作流路径
使用已配置的代码智能提供程序定位文件并检查符号或内容。对于 Serena,请使用 find_file、search_for_pattern、get_symbols_overview 和 find_symbol。原生搜索仅限于提供程序排除项以及项目搜索策略允许的非代码路径。
只有在识别数据库引擎和迁移工具之后,才运行项目的迁移、查询计划或检索质量命令。
资源范围
| 范围 | 资源目标 |
|---|---|
CODEBASE | 架构、迁移、查询、ORM 和检索文件 |
LOCAL_FS | 数据库设计产物和结果文档 |
PROCESS | 迁移、查询、lint 或验证命令 |
USER_DATA | 领域数据定义、保留规则和访问模式示例 |
前提条件
- 可以明确识别目标数据库问题及其范围。
- 已提供现有架构/工作负载证据,或已说明相关假设。
影响和副作用
- 可能会创建或更改架构文档、迁移、索引、查询或检索配置。
- 可能会影响数据完整性、性能、恢复态势或合规证据。
- 未经用户明确授权并完成验证,不应执行高风险迁移。
护栏
仅当目标项目尚未确立选择时,才应用框架、库、架构和数据模型的默认设置。限定范围的编辑不授权迁移技术栈或改动无关基础设施。
- 先选模型,再选引擎:工作负载、访问模式、一致性和规模决定数据库的选择。
- 对关系型工作负载,默认至少满足 3NF。只有在有明确性能理由时才打破 3NF。
- 对分布式/非关系型工作负载,应围绕聚合和访问路径建模;记录 BASE 和一致性方面的权衡。
- 对关系型事务语义,明确记录 ACID 预期。对于分布式/非关系型的权衡,明确记录一致性方面的妥协。
- 对完整的模式设计,记录外部、概念和内部模式视图。对于范围有限的索引/查询/模型变更,只更新受影响的现有视图。
- 将完整性视为首要事项:必须明确实体、域、引用和业务规则完整性。
- 并发绝不可含糊:为每个关键流程定义事务边界、锁定策略和隔离级别。
- 应用现有数据标准;为新建模的数据补充相关的命名、定义、格式和验证规则。
- 当变更影响现有术语表、决策和容量文档的假设时,更新受影响的文档。仅涉及查询的任务不需要新增建模文档。
- 主动指出反模式和不安全的捷径,而不是默默照做。
- 如果设计削弱了可审计性、最小权限、可追溯性、备份/恢复或数据完整性,应提出更符合 ISO 27001 / 27002 / 22301 的替代方案。
- 向量数据库是检索基础设施,不是事实来源数据库。在其中存储嵌入向量和轻量级元数据;将规范文档保存在其他位置。
- 绝不可将向量搜索视为词法搜索的即插即用替代方案。当精确匹配、合规筛选或可解释性很重要时,默认采用混合检索。
- 嵌入向量属于类似模式的资产:对模型、维度、分块和预处理进行版本管理,并明确规划重新嵌入迁移。
- 检索质量取决于分块、筛选、重排和可观测性,而不仅仅是向量索引层。
- 对线上表进行模式或数据变更时,遵循扩展-收缩(并行变更)流程:先以增量方式扩展,再双写并分批回填,验证后切换读取,延迟收缩。对热表执行 DDL 时,要考虑锁并设置超时;破坏性步骤应在静置观察期后通过单独部署发布。
- 查询调优从测量和执行计划入手,绝不靠猜测:先测量、分析,确定主要成本节点,然后优化并再次测量。
默认工作流
- 探索
- 确定业务实体、事件、访问模式、数据量、延迟、保留期限和恢复目标
- 对工作负载分类:OLTP、分析、事件处理、缓存、搜索、混合
- 明确说明理由,决定采用关系型还是非关系型
- 设计
- 编写外部/概念/内部模式文档
- 为 SQL 或 NoSQL 结构、键、索引、约束和生命周期字段建模
- 定义完整性、事务范围、隔离级别和透明度要求
- 优化
- 验证 3NF 或有意进行的非规范化
- 调整索引、分区、归档策略、冷热数据拆分和备份方案
- 对向量系统,将 ANN、分块、筛选、重排和可观测性作为一个整体流程进行调优
- 执行相关的反模式审查,并更新定义或容量假设发生变化的文档
按范围交付
对于完整的建模/设计请求,请根据需要使用以下内容。范围限定的调优或迁移工作需要提供相关交付物差异、SQL/计划证据和验证结果;未受影响的文档可省略。
- 按用户/视图/使用方划分的外部架构摘要
- 包含核心实体或聚合及其关系的概念架构
- 包含物理存储、索引、分区和访问路径的内部架构
- 数据标准表:名称、定义、类型/格式、规则
- 术语表/术语词典
- 容量估算表
- 备份与恢复策略,包括全量备份和增量备份的频率
- 对于向量/RAG 系统:嵌入版本策略、分块策略、混合检索策略,以及重新索引/重新嵌入计划
参考资料
- 执行步骤(针对所选任务):
resources/execution-protocol.md - 自检(交付前运行):
resources/checklist.md - 示例:
resources/examples.md - 交付物模板:
resources/document-templates.md - 反模式审查指南:
resources/anti-patterns.md - 在线迁移手册:
resources/migration-playbook.md - 查询调优与索引设计:
resources/query-tuning.md - 向量数据库与 RAG 指南:
resources/vector-db.md - ISO 控制指南:
resources/iso-controls.md - 错误恢复:
resources/error-playbook.md - 上下文加载:
../_shared/core/context-loading.md - 澄清:
../_shared/core/clarification-protocol.md - 上下文预算:
../_shared/core/context-budget.md - 经验教训:
../_shared/core/lessons-learned.md(适用于匹配以往失败或用户要求进行回顾的情况) - 可观测性移交:
../oma-observability/SKILL.md§Integrations — DB span 约定(N+1、锁等待、连接池)、基数预算
评论
支持 Markdown