Skip to content

数据库

数据库是软件系统的核心基础设施,本模块全面覆盖主流关系型数据库与 NoSQL 数据库的核心知识点。


模块总览

数据库定位文件数说明
MySQL关系型首选54 篇索引、事务、锁、SQL 优化、主从复制、分库分表
Redis缓存/分布式存储43 篇持久化、集群、缓存策略、应用场景
MongoDB文档型 NoSQL35 篇副本集、分片集群、聚合管道、WiredTiger
PostgreSQL功能型关系型34 篇MVCC、并行查询、丰富索引类型、PostGIS
Oracle企业级关系型35 篇RAC、Data Guard、PL/SQL、性能调优
SQL ServerWindows 生态32 篇Always On、列存储、内存优化表
SQLite嵌入式7 篇轻量级、无服务器、 WAL 模式
MariaDBMySQL 分支15 篇Galera 集群、线程池、CONNECT 引擎
达梦 (DM)国产关系型24 篇与 Oracle 兼容、数据守护、MPP
TiDB分布式关系型24 篇NewSQL、HTAP、水平扩展
HBase列族 NoSQL21 篇大数据存储、Region 分片、WAL
时序数据库TSDBInfluxDB、TDengine、Prometheus

核心知识体系

关系型数据库共同主题

主题MySQLPostgreSQLOracle核心要点
索引结构B+ 树B-Tree / GIN / GiSTB-Tree / 位图索引选择与最左前缀
事务隔离MVCC (RC/RR)MVCC (SSI)MVCC + SCN隔离级别与并发问题
锁机制行锁 + 意向锁行锁 + 乐观锁TM/TX 锁死锁避免与排查
SQL 优化EXPLAIN / 慢查询EXPLAIN / pg_statAWR / SQL Tuning执行计划分析
主从复制binlog流复制 / 逻辑复制Data Guard复制模式与延迟
高可用MGR / MHAPatroni + etcdRAC + DG故障转移与一致性

NoSQL 数据库共同主题

主题RedisMongoDBHBaseCassandra核心要点
数据模型K-V / 结构化文档列族列族模型设计原则
分布式Cluster / SentinelSharded ClusterRegion 分片Gossip数据分布策略
一致性最终一致可调一致强一致最终一致CAP 权衡
索引Hash / B+ 树B-Tree / 地理行键索引二级索引索引类型与使用

面试核心路线图

关系型数据库面试路线:

MySQL 索引原理(B+ 树)

MySQL 事务与 MVCC

MySQL 锁机制与死锁

MySQL SQL 优化与执行计划

MySQL 主从复制与高可用

分库分表与分布式中间件
NoSQL 数据库面试路线:

Redis 数据类型与底层结构

Redis 持久化与复制

Redis 集群与哨兵

Redis 缓存策略(穿透/击穿/雪崩)

MongoDB 分片集群原理

HBase 存储架构与读写流程

学习建议

按需选择数据库

业务场景推荐数据库理由
互联网 OLTPMySQL / TiDB高并发、强事务、水平扩展
数据仓库/分析PostgreSQL / ClickHouse丰富索引、列存储、并行查询
缓存/会话Redis / Memcached内存存储、高性能、数据结构
文档存储MongoDB灵活 Schema、强伸缩性
大数据日志HBase / InfluxDB时序写入、压缩存储
国产化替代达梦 / TiDBOracle 兼容、信创支持

学习优先级建议

第一梯队(必学):

  • MySQL 索引与事务
  • Redis 持久化与集群
  • 缓存经典三问(穿透/击穿/雪崩)

第二梯队(深入):

  • MySQL 主从复制与分库分表
  • Redis 分布式锁
  • MongoDB 分片集群

第三梯队(扩展):

  • TiDB 分布式架构
  • PostgreSQL 高级特性
  • HBase 大数据场景

避免的常见误区

误区正确认知
索引越多越好每次写入都要维护索引,增加开销
Redis 是纯内存数据库支持 RDB/AOF 持久化
NoSQL 不支持事务MongoDB 4.0+ 支持多文档事务
分库分表能解决一切性能问题引入跨节点查询和分布式事务复杂度

相关模块

基于 VitePress 构建