Appearance
数据库
数据库是现代软件开发的核心基础设施,涵盖了关系型数据库(RDBMS)和 NoSQL 数据库两大类。本模块系统化介绍主流数据库的核心原理、架构设计、优化策略和实战技巧。
数据库分类
┌──────────────────────────────────────────────────────────────────┐
│ 数据库分类 │
│ │
│ ┌─────────────────────┐ ┌─────────────────────────────────┐ │
│ │ 关系型数据库(RDBMS)│ │ NoSQL 数据库 │ │
│ │ │ │ │ │
│ │ · MySQL │ │ · 文档型:MongoDB │ │
│ │ · Oracle │ │ · 键值型:Redis │ │
│ │ · PostgreSQL │ │ · 列族型:HBase、Cassandra │ │
│ │ · SQL Server │ │ · 图数据库:Neo4j │ │
│ │ · DB2 │ │ · 时序型:InfluxDB │ │
│ └─────────────────────┘ └─────────────────────────────────┘ │
│ │
│ RDBMS 特点:ACID、强一致性、结构化查询(SQL)、事务支持 │
│ NoSQL 特点:BASE、高扩展性、灵活 Schema、海量数据处理 │
└──────────────────────────────────────────────────────────────────┘本模块涵盖
| 数据库 | 类型 | 定位 | 核心特点 |
|---|---|---|---|
| MySQL | 关系型 | 互联网首选 | 开源、高性能、InnoDB、生态丰富 |
| Oracle | 关系型 | 企业级标杆 | 商业闭源、高可用、RAC、强大 PL/SQL |
| DB2 | 关系型 | 金融/大型机 | IBM 出品、高稳定性、大型机兼容 |
| MongoDB | 文档型 NoSQL | 灵活存储 | JSON 文档模型、水平扩展、聚合管道 |
学习路径建议
入门 → MySQL(最常用)
↓
进阶 → Oracle(理解企业级特性)
↓
扩展 → DB2(了解金融级数据库)
↓
拓展 → MongoDB(掌握 NoSQL 思维)核心知识点全景
数据库
├── SQL 基础
│ ├── DDL(CREATE / ALTER / DROP)
│ ├── DML(SELECT / INSERT / UPDATE / DELETE)
│ ├── DCL(GRANT / REVOKE)
│ └── TCL(COMMIT / ROLLBACK / SAVEPOINT)
├── 架构设计
│ ├── 存储引擎
│ ├── 内存结构
│ ├── 进程/线程模型
│ └── 日志系统
├── 索引与优化
│ ├── B+Tree 索引
│ ├── 哈希索引
│ ├── SQL 执行计划
│ └── 慢查询优化
├── 事务与锁
│ ├── ACID 特性
│ ├── 隔离级别
│ ├── MVCC 机制
│ └── 锁类型(行锁/表锁/间隙锁)
├── 高可用
│ ├── 主从复制
│ ├── 分库分表
│ ├── 读写分离
│ └── 集群方案
└── 运维管理
├── 备份恢复
├── 监控告警
└── 性能调优面试重点
- MySQL InnoDB 存储引擎架构
- B+Tree 索引原理与优化
- 事务隔离级别与 MVCC
- SQL 优化实战(Explain 分析)
- 主从复制与分库分表方案
- MongoDB 复制集与分片集群
- Oracle RAC 与高可用架构
