数据库知识体系:SQL、MySQL、Redis、MongoDB 与 Elasticsearch
后端工程师的数据库能力往往决定系统上限。本文把关系型、缓存与 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 何时引入;实验与复盘如何配合。数据库能力=原理+工具+故障经验,缺一不可。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Dai Wei!
评论

