运维与实战

功能上线只是开始,稳定运行才是数据库工作的重心。本章覆盖监控、备份、Schema 演进、版本升级、应用接入、压测、选型与安全,并以一个多数据库协作的服务收尾。

内容导航

章节内容
监控、备份恢复与迁移关键指标、容量规划、备份策略与在线迁移
Schema 版本化迁移与在线 DDL迁移工具、expand-contract 与大表在线变更
数据库版本升级MySQL/PG/MongoDB/Redis 升级流程与回滚
数据库访问层最佳实践连接池、超时、重试幂等与批量操作
容量规划与压测指标、压测工具与容量估算方法
数据库选型与架构权衡数据模型选型、OLTP/OLAP、一致性权衡与演进路径
权限、加密与注入防护最小权限、传输/存储加密、脱敏与审计
实战:多数据库协作的 Go 服务MySQL 存储 + Redis 缓存 + MongoDB 日志

生产检查清单

  • 连接:应用使用独立账号、最小权限;配置连接池上限与超时。
  • 查询:参数化;慢查询有阈值告警;关键查询有 EXPLAIN 评审。
  • 索引:定期审计无用索引;避免冗余与失效。
  • 事务:短小、固定加锁顺序;监控长事务与死锁。
  • 备份:定期全量 + 增量;实际演练恢复
  • 高可用:复制/副本集/集群;故障切换经过演练。
  • 监控:连接数、QPS、慢查询、复制延迟、磁盘与内存。
  • 安全:不开公网、强密码、TLS、数据脱敏、审计日志。
Warning

没有演练过的备份等于没有备份」。备份文件可能损坏、恢复流程可能缺步骤、权限可能不足。务必定期做恢复演练,并记录恢复时间目标(RTO)与恢复点目标(RPO)。

参考架构

                        ┌──────────────┐
        写 ──────────►  │  主库 (RDBMS) │
                        └──────┬───────┘
                               │ 复制
                        ┌──────▼───────┐
     读(可容忍延迟)──► │   从库 × N    │
                        └──────────────┘

        热点读 ──────►  Redis 缓存 ──未命中──► 从库
        日志/事件 ───►  MongoDB(半结构化)

热数据进缓存、强一致走主库、分析/日志进文档库或数仓,是常见的分层组合思路。