跳转至

数据库系统概述

什么是数据库系统

数据库系统研究的是如何高效、可靠、安全地存储和检索大量数据。现代数据库系统不只是"存数据",它要解决的核心问题包括:如何快速查找(索引)、如何保证并发操作不冲突(事务和锁)、如何在系统故障时不丢数据(持久化和恢复)。

为什么要学数据库系统

后端开发的基石。 不管是 Web 开发、微服务还是 AI 应用,数据存取都是绕不开的环节。

理解数据存储的本质。 向量数据库本质上也是一种数据库,只是索引方式从 B+ 树变成了向量近似搜索。

面试必考。 事务 ACID、索引原理、SQL 优化——这些是后端面试的铁题。

考研 408 核心科目。 分值约 25 分。

核心知识模块

关系模型与 SQL

  • 关系模型、关系代数、SQL

存储与索引

  • B+ 树索引、哈希索引、聚簇索引

查询处理与优化

  • 执行计划、连接算法、查询优化器

事务处理

  • ACID、并发控制、隔离级别、MVCC

故障恢复

  • WAL、ARIES 算法、检查点

怎么学

理论和实践并重。 光看书不写 SQL,概念永远是纸上谈兵。

从一个具体数据库入手。 推荐先学 MySQL。

做 CMU 15-445 实验。 实现一个完整的数据库系统。

本模块资源

资源 类型 说明
CMU 15-445 课程 CMU 数据库系统,实现完整数据库
Berkeley CS186 课程 Berkeley 数据库课程
DDIA 教材 数据密集型应用系统设计