数据库知识体系:SQL、MySQL、Redis、MongoDB 与 Elasticsearch
约 1693 字大约 6 分钟

这份 数据库知识体系 面向后端学习、工程实践和面试复习,按“数据库基础 -> SQL -> MySQL -> Redis -> NoSQL 与搜索”的顺序整理本站数据库相关文章。
如果你时间有限,建议先看 数据库基础常见面试题总结、SQL 语法基础知识总结、MySQL 常见面试题总结 和 Redis 常见面试题总结(上),快速建立高频问题清单。
适合谁看
- 正在系统学习数据库基础、SQL、MySQL 和 Redis 的后端开发者。
- 准备校招、社招、中大厂后端面试的同学。
- 想补齐索引、事务、日志、执行计划、缓存一致性、Redis 持久化和集群能力的工程师。
- 已经写过业务 CRUD,但对数据库底层原理、性能优化和 NoSQL 选型不够熟的读者。
学习重点
- 关系型数据库和 NoSQL 分别适合解决什么问题,常见选型边界在哪里?
- SQL 的查询、聚合、连接、子查询和事务语义应该如何掌握?
- MySQL 索引、事务隔离、MVCC、三大日志和执行计划如何串成一条主线?
- Redis 为什么快,常用数据结构、缓存策略、持久化、阻塞问题和集群机制如何理解?
- MongoDB、Elasticsearch 这类 NoSQL/搜索系统在后端面试和工程选型中常考哪些点?
建议阅读顺序
- 数据库基础常见面试题总结 和 NoSQL 基础常见面试题总结:先理解数据库分类、事务、范式、NoSQL 类型和典型应用场景。
- SQL 语法基础知识总结:补齐查询、过滤、排序、聚合、连接、子查询、插入、更新和删除等 SQL 基本功。
- MySQL 专题:重点学习索引、事务隔离、MVCC、三大日志、执行过程和执行计划。
- Redis 专题:重点学习缓存基础、数据结构、缓存读写策略、持久化、阻塞问题、内存碎片和集群。
- MongoDB 专题 和 Elasticsearch 常见面试题总结:根据岗位要求补充文档数据库和搜索引擎相关知识。
核心文章
数据库基础与 SQL
这部分适合先建立数据库通用认知,重点理解数据库类型、事务语义、字符集、SQL 基础和常见查询题。
- 数据库基础常见面试题总结:梳理数据库基础概念、事务特性、并发控制、范式和常见面试问题。
- NoSQL 基础常见面试题总结:理解键值、文档、列族、图数据库等 NoSQL 类型及适用场景。
- 字符集详解:字符集是什么?怎么用?:理解字符集、编码、乱码原因以及 MySQL 字符集设置。
- SQL 专题:从 SQL 语法基础讲到常见 SQL 面试题。
- SQL 语法基础知识总结:覆盖查询、过滤、排序、聚合、分组、连接、子查询和数据修改。
MySQL
MySQL 是后端开发最核心的关系型数据库考点之一,学习时建议把“索引 -> 执行计划 -> 事务 -> MVCC -> 日志 -> 性能优化”连起来。
- MySQL 专题:串联 MySQL 索引、事务、MVCC、日志、执行计划和性能优化。
- MySQL 常见面试题总结:快速建立 MySQL 高频问题清单。
- MySQL 索引详解:理解索引数据结构、最左前缀、覆盖索引、回表和索引设计原则。
- MySQL 事务隔离级别详解:理解脏读、不可重复读、幻读和不同隔离级别的权衡。
- InnoDB 存储引擎对 MVCC 的实现:理解 Read View、隐藏字段、undo log 和快照读。
- MySQL 三大日志详解:理解 binlog、redo log、undo log 的作用和关系。
- MySQL 执行计划分析:掌握 EXPLAIN 常见字段和慢 SQL 分析入口。
Redis
Redis 既是缓存,也是高频中间件考点。学习时不要只背命令,更要理解缓存策略、数据结构、持久化、阻塞原因和集群机制。
- Redis 专题:围绕缓存、数据结构、持久化、集群、阻塞问题和工程实践展开。
- 缓存基础常见面试题总结:理解缓存使用场景、缓存穿透、击穿、雪崩和一致性问题。
- Redis 常见面试题总结(上) 和 Redis 常见面试题总结(下):快速建立 Redis 高频问题清单。
- Redis 5 种基本数据类型详解:理解 String、List、Hash、Set、Sorted Set 的应用场景。
- Redis 持久化机制详解:理解 RDB、AOF、AOF 重写和混合持久化。
- Redis 集群详解:理解主从复制、哨兵、Cluster、槽位和故障转移。
NoSQL 与搜索
这部分适合在掌握关系型数据库和缓存之后补充,用来理解文档数据库、搜索引擎和非关系型存储的选型边界。
- MongoDB 专题:整理 MongoDB 文档模型、索引、副本集、分片、事务和常见面试问题。
- MongoDB 常见面试题总结(上) 和 MongoDB 常见面试题总结(下):理解 MongoDB 核心概念和工程实践。
- Elasticsearch 常见面试题总结:理解倒排索引、分片、副本、写入查询流程和搜索场景。
高频问题
- 关系型数据库和 NoSQL 有什么区别?分别适合哪些场景?
- 数据库事务 ACID 是什么?隔离级别分别解决什么问题?
- SQL 中 WHERE、GROUP BY、HAVING、ORDER BY 的执行顺序如何理解?
- MySQL 索引为什么能加速查询?什么情况下会索引失效?
- InnoDB 如何通过 MVCC 实现非锁定一致性读?
- binlog、redo log、undo log 分别解决什么问题?
- 如何通过 EXPLAIN 分析 SQL 执行计划?
- Redis 为什么快?缓存穿透、击穿、雪崩如何处理?
- Redis 持久化、主从复制、哨兵和 Cluster 分别解决什么问题?
- MongoDB 和 Elasticsearch 分别适合什么业务场景?
相关专题
写在最后
如果内容对你有帮助的话,欢迎顺手给 JavaGuide 点一个免费的 Star 支持一下:GitHub | Gitee。
JavaGuide 已持续维护近七年,累计 6100+ 次提交,来自 620+ 位贡献者共同完善。你的 Star、反馈和 PR,都是这个项目继续更新的动力。
如果你正在准备后端/AI 应用开发面试,也可以了解一下我的知识星球,里面包括后端和 AI 实战项目、简历优化、一对一提问和高频考点资料,已经持续维护六年。
