文章

数据库知识总览

数据库知识总览

面向后端/SRE 工程师的数据库知识体系,覆盖 MySQL(核心)、PostgreSQL(进阶)和 Redis(缓存)三大组件,从原理到运维、从调优到故障排查。

知识体系总览

graph TB
    subgraph MySQL核心
        A1[体系架构/存储引擎]
        A2[索引原理与优化]
        A3[事务与锁机制]
        A4[主从复制/高可用]
        A5[备份恢复/慢查询]
    end

    subgraph PostgreSQL进阶
        B1[架构与MVCC]
        B2[索引与性能调优]
    end

    subgraph Redis缓存
        C1[数据结构/使用场景]
        C2[持久化/主从哨兵集群]
        C3[缓存设计与常见问题]
    end

    subgraph 故障排查
        D1[连接数/死锁]
        D2[主从延迟]
        D3[OOM/大Key]
    end

    A1 --> A2 --> A3
    A3 --> A4 --> A5
    C1 --> C2 --> C3
    B1 --> B2

目录结构

07-Knowledge/database/
├── 数据库知识总览.md              ← 你在这里
├── MySQL 体系架构与存储引擎.md
├── MySQL 索引原理与优化.md
├── MySQL 事务与锁机制.md
├── MySQL 主从复制与高可用.md
├── MySQL 备份恢复与慢查询优化.md
├── PostgreSQL 架构与核心特性.md
├── Redis 数据结构与缓存设计.md
└── Redis 高可用与集群方案.md

学习路线

🟢 入门阶段(1 周)

  • 理解 MySQL 架构:连接器 → 分析器 → 优化器 → 执行器 → 存储引擎
  • 掌握 InnoDB 核心特性:B+Tree、MVCC、Redo/Undo Log
  • 学会 EXPLAIN 分析执行计划,会用 type/rows/Extra 判断性能
  • Redis 五种基本数据结构及常用命令

🟡 进阶阶段(2-3 周)

  • 深入索引优化:覆盖索引、索引下推、前缀索引、联合索引最左前缀
  • 掌握事务隔离级别与锁机制:行锁/间隙锁/Next-Key Lock
  • MySQL 主从复制原理与 GTID、MGR 组复制
  • Redis 持久化 RDB vs AOF、哨兵 vs Cluster
  • 缓存穿透/击穿/雪崩的防护策略

🔴 高级阶段(持续)

  • 分库分表方案设计与数据迁移
  • MySQL 内核参数深度调优(Buffer Pool / Redo Log / 刷盘策略)
  • PostgreSQL MVCC 与 VACUUM 机制
  • Redis 源码级数据结构(SDS/ziplist/skiplist)
  • 大规模数据库故障演练与容量规划

核心概念速查

概念简述相关笔记
B+TreeInnoDB 默认索引结构,叶子节点形成有序链表MySQL 索引原理与优化
MVCC多版本并发控制,读写互不阻塞的基础MySQL 事务与锁机制
Redo Log物理日志,crash recovery 保证持久性MySQL 体系架构与存储引擎
Undo Log逻辑日志,回滚 + MVCC 读视图MySQL 事务与锁机制
GTID全局事务 ID,简化主从切换MySQL 主从复制与高可用
MGRMySQL Group Replication,原生高可用方案MySQL 主从复制与高可用
VACUUMPG 回收死元组,防止事务 ID 回卷PostgreSQL 架构与核心特性
RDBRedis 快照持久化,fork + COWRedis 高可用与集群方案
AOFAppend Only File,命令日志持久化Redis 高可用与集群方案
缓存穿透查不存在的数据直接打到 DBRedis 数据结构与缓存设计
缓存雪崩大量缓存同时过期导致 DB 压力陡增Redis 数据结构与缓存设计

常用工具链

MySQL 诊断:    mysqltuner, pt-query-digest, pt-online-schema-change, gh-ost
MySQL 监控:    PMM (Percona), mysqld_exporter + Prometheus + Grafana
PostgreSQL:    pg_stat_statements, pgBadger, pgBackRest, Patroni
Redis 诊断:    redis-cli --bigkeys, redis-cli --latency, redis-rdb-tools
Redis 监控:    redis_exporter, RedisInsight
通用压测:      sysbench, mysqlslap, redis-benchmark, pgbench

关联知识

学习时间

阶段预计时间备注
目录搭建2026-07-14框架创建
MySQL 核心待定体系架构/索引/事务/复制/备份
PostgreSQL待定架构 + MVCC + 调优
Redis待定数据结构/高可用/缓存设计
故障排查待定连接数/死锁/延迟/大Key

状态标记

🌱 学习中 | 📖 已掌握 | 🔁 需复习 | 📝 待补充


这套体系从「会用」到「会修」到「会设计」,逐步深入。K8s 上的数据库运维(Operator、StatefulSet、备份调度)将单独开系列。