4.5 KiB
4.5 KiB
数据库跨域模型与治理基线(v1.0)
- 版本:v1.0
- 日期:2026-03-27
- 状态:生效(数据库设计 SSOT 补丁)
- 适用范围:S0-S2 执行与验收
- 关联文档:
docs/llm_gateway_prd_v1_2026-03-25.mddocs/supply_technical_design_enhanced_v1_2026-03-25.mddocs/technical_architecture_optimized_v2_2026-03-18.mdsql/postgresql/supply_schema_v1.sqlsql/postgresql/supply_schema_v1_patch_2026-03-27.sqlsql/postgresql/platform_core_schema_v1.sql
1. 本次补齐的缺口
- 仅有
supply_*表,缺少 PRD P0/P1 的核心域(租户/项目/鉴权 key/账务总账/审计事件)。 - 供应域缺少统一加密元数据字段,无法审计算法、KMS Key 版本与轮换状态。
- 缺少统一单位字段(quota/cost/amount unit),跨域统计口径不稳定。
- 审计字段不完整(request_id、trace_id、IP、operator、version)。
- 索引以单列为主,未覆盖高频组合查询(租户+状态+时间)。
2. 最小跨域表模型(按 PRD P0/P1)
| 域 | 表 | 说明 |
|---|---|---|
| Core | core_tenants |
组织/租户主实体 |
| Core | core_projects |
项目/成本归因单元 |
| IAM | iam_users |
用户身份与角色 |
| Auth | auth_platform_api_keys |
平台签发凭证(仅 hash,不存明文) |
| Billing | billing_accounts |
预算账户与余额 |
| Billing | billing_ledger_entries |
借贷分录与请求级对账 |
| Routing | routing_policies |
策略版本、优先级、生效窗口 |
| Security | security_kms_key_registry |
KMS Key 与加密算法版本登记 |
| Audit | audit_events |
全域审计事件(配置/账务/安全) |
DDL:sql/postgresql/platform_core_schema_v1.sql
3. 供应域字段补齐(在 v1 基础上增量)
3.1 加密字段(必须)
*_cipher_algo:默认AES-256-GCM*_kms_key_alias:KMS key alias(非 key 明文)*_key_version:key 版本号*_fingerprint:凭证摘要(不可逆)last_rotation_at:上次轮换时间
3.2 单位与币种字段(必须)
quota_unit:token/request/creditprice_unit:per_1m_tokens等amount_unit:minor(分/厘)currency_code:ISO 4217 三位码
3.3 审计与并发字段(必须)
request_ididempotency_keyaudit_trace_idcreated_ip/updated_ipversion(乐观锁)
DDL:sql/postgresql/supply_schema_v1_patch_2026-03-27.sql
4. 索引策略(高频查询优先)
4.1 组合索引
supply_accounts(user_id, status, updated_at desc)supply_packages(user_id, status, updated_at desc)supply_orders(buyer_user_id, status, created_at desc)supply_settlements(user_id, status, updated_at desc)billing_ledger_entries(billing_account_id, occurred_at desc)
4.2 部分索引
supply_packages的 active 查询(仅status=active)supply_settlements的处理中唯一约束(仅status=processing)
4.3 可观测索引
request_idtrace_idaudit_trace_id
说明:所有关键事件必须具备 request 级反查路径,满足“从告警到原始账务分录”单跳可达。
5. 迁移顺序与回滚策略
- Phase-A:执行
platform_core_schema_v1.sql(新增表,无破坏性)。 - Phase-B:执行
supply_schema_v1_patch_2026-03-27.sql(增列+增索引)。 - Phase-C:灰度写入新字段(双写,不读取)。
- Phase-D:回填历史数据(按日批,带校验)。
- Phase-E:切换读路径到新字段并开启质量门禁。
回滚原则:
- 新字段只增不删,读路径可切回旧字段。
- 新索引可独立回退,不影响主流程事务。
- 任一阶段失败立即冻结下一阶段,不跨阶段带病推进。
6. 质量验收清单(DB)
- 结构验收:新增表/列/索引全部存在,且命名符合规范。
- 安全验收:无明文凭证列,hash/指纹字段可用。
- 一致性验收:账务分录借贷平衡,提现处理中单一约束生效。
- 审计验收:关键写接口 100% 带
request_id + trace_id。 - 性能验收:高频查询 P95 无劣化(对比 patch 前后)。
7. 约束声明
- 本文与两个 SQL 文件共同构成数据库实施 SSOT。
- 任何新增业务功能必须先选择所属域,再定义表/字段/索引,不允许“先代码后补库”。
- 未通过本清单第 6 章,禁止进入发布门禁
SUP-008与全局GO评审。