后端工程师的数据库能力往往决定系统上限。本文把关系型、缓存与 NoSQL 串成一条可执行的学习主线。

学习主线怎么排

建议按「通用概念 → SQL 基本功 → MySQL 内核 → Redis 工程化 → 按需补 NoSQL」推进。先搞清 ACID、范式、索引与事务,再进入执行计划与日志;缓存部分重点理解穿透/击穿/雪崩与一致性策略,而不是死记命令。

各模块要抓什么

  • SQL:会写不等于会优化,连接、子查询与聚合的语义要能和执行计划对应。
  • MySQL:索引、隔离级别、MVCC、redo/undo/binlog 是一条链,慢 SQL 排查从这里串。
  • Redis:数据结构选型、持久化、阻塞排查、集群分片是面试与线上并重的高频区。
  • MongoDB/ES:按岗位补充,文档模型与倒排索引各自解决不同检索场景。

实践建议

每学一个主题,用一个小例子验证:建表加索引看 EXPLAIN;开两个会话验证隔离级别;用 Redis 实现缓存并故意制造击穿场景。只看不练,面试和排障都容易卡壳。

常见误区

  • 把「会用 ORM」当成「懂数据库」。
  • 索引越多越好——写放大与维护成本会被低估。
  • Redis 当纯缓存却忽略持久化与内存碎片,故障时数据全丢。
  • NoSQL 不是银弹,跨行事务与复杂关联仍多落在关系型上。

按角色定制路径

后端开发应至少完成 MySQL 索引+事务+慢 SQL 三角;做缓存层必须补 Redis 穿透治理与持久化;数据平台方向再延伸 ES/Mongo。每完成一个模块,用思维导图把「问题现象 → 底层机制 → 排查命令」连起来,复习效率会高很多。

与工程衔接

表结构设计阶段就要想索引与分库边界;上线前对核心 SQL 做 explain 评审;监控里加上慢查询、InnoDB row lock waits、Redis hit rate。数据库知识不是背完就结束,而是在发布、回滚、故障复盘里反复验证。

实践复习清单

五模块学习顺序;MySQL 主线四题自测;Redis 缓存三问;Mongo 何时引入;每模块配套实验;故障案例复盘记录。

总结与自测

五模块顺序;MySQL 与 Redis 各三个必考点;NoSQL 何时引入;实验与复盘如何配合。数据库能力=原理+工具+故障经验,缺一不可。