# ADR-004：主数据库选型

**编号**：ADR-004
**标题**：主数据库选型
**状态**：已接受
**日期**：2026-05-14
**决策者**：架构团队

---

## 背景

需要为主数据库选型，考虑性能、稳定性、生态、团队技能等因素。

## 候选方案

| 数据库 | 优点 | 缺点 |
|--------|------|------|
| MySQL 8.0 | 生态成熟、稳定可靠 | 复杂查询稍弱 |
| PostgreSQL | JSON支持强、复杂查询强 | 团队熟悉度 |
| MongoDB | 文档型、灵活 | 事务支持弱 |
| TiDB | MySQL兼容、水平扩展 | 运维复杂 |

## 决策

采用**MySQL 8.0**作为主数据库：
- 支持JSON类型（扩展字段）
- 支持窗口函数（复杂查询）
- 生态成熟，稳定可靠
- 团队熟悉度高

## 表设计原则

1. 字段命名：snake_case
2. 主键：使用BIGINT自增
3. 审计字段：create_time, update_time
4. 软删除：status字段
5. 索引：合理设计，避免过多

## 结果

### 正面
- 技术成熟稳定
- 团队熟悉
- 工具链完善（备份、监控、运维）
- 兼容性好

### 负面
- 水平扩展需分库分表
- 复杂查询性能一般

## 相关决策
- ADR-003：Redis缓存方案
