Week 1关系代数与高级 SQL (Relational Algebra & SQL)
### 📊 核心知识点:形式化查询基础 快速复习基础 SQL,深入学习关系代数(Relational Algebra)的底层逻辑(选择、投影、连接、除法)。掌握窗口函数(Window Functions)与 CTE。 - **核心概念**: Relational Algebra, Window Functions, Common Table Expressions (CTE). ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 将复杂的 SQL 语句转换为关系代数表达式树。 🧪 **Tutorial/Lab**: 在 PostgreSQL 中编写包含 `OVER (PARTITION BY ...)` 的高级分析查询。 📌 **作业关联**: Project 1 查询优化的基础。 ⚠️ **易错点**: 混淆 `RANK()`, `DENSE_RANK()` 和 `ROW_NUMBER()` 的处理逻辑。 (数据来源:2026 Course Handbook)
Week 2数据库内部架构与存储引擎 (Storage & Buffer)
### 🗄️ 核心知识点:磁盘与缓冲池管理 探讨数据库管理系统(DBMS)的内部架构。学习记录(Records)、页面(Pages)的磁盘存储布局以及缓冲池(Buffer Pool)替换策略。 - **核心概念**: Page Layout, Slotted Page, Buffer Replacement Policies (LRU, Clock). ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 14h 🎯 **考试关联**: 计算特定缓存替换策略下的页面命中率。 🧪 **Tutorial/Lab**: 剖析 PostgreSQL 底层的 Page 结构存储形式。 📌 **作业关联**: 理解 I/O 成本是数据库性能的核心瓶颈。 ⚠️ **易错点**: 误以为缓冲池是操作系统级别的缓存(DBMS 通常绕过 OS 直接管理 Buffer)。 (数据来源:2026 Course Handbook)
Week 3索引结构:B+树与哈希 (Indexing Structures)
### 🌳 核心知识点:极速数据定位 深度解析 B+ 树数据结构的插入、分裂与合并算法。对比可扩展哈希(Extendible Hashing)与线性哈希(Linear Hashing)。 - **核心概念**: B+ Trees, Extendible Hashing, Clustered vs Unclustered Index. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 16h 🎯 **考试关联**: 给定初始 B+ 树,手绘经过多次插入与删除节点后的树结构变化。 🧪 **Tutorial/Lab**: 编写代码模拟 B+ 树的节点分裂过程。 📌 **作业关联**: **Project 1 发布**,要求实现或优化数据库底层组件。 ⚠️ **易错点**: 忽略 B+ 树中叶子节点之间的双向链表对范围查询(Range Query)的关键作用。 (数据来源:2026 Course Handbook)
Week 4查询处理与连接算法 (Query Processing & Joins)
### ⚙️ 核心知识点:Nested Loop, Merge, Hash Join 系统学习不同连接算法的底层实现及其 I/O 成本计算。包括 Nested Loop (Block, Index), Sort-Merge Join 和 Hash Join。 - **核心概念**: Join Algorithms, External Sorting, I/O Cost Estimation. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 16h 🎯 **考试关联**: 给定两张表的大小和内存页数,计算不同 Join 算法的精准 I/O 成本并选优。 🧪 **Tutorial/Lab**: 实现两趟外部排序算法(Two-Pass External Sort)。 📌 **作业关联**: 为查询优化器的核心逻辑打下计算基础。 ⚠️ **易错点**: 在计算 Hash Join 成本时遗漏分区阶段(Partitioning Phase)的磁盘写入开销。 (数据来源:2026 Course Handbook)
Week 5查询优化器 (Query Optimizer)
### 🧠 核心知识点:代价估算与执行计划 理解 System R 优化器的动态规划策略(Left-deep trees)。学习如何通过统计信息(直方图)估算选择率(Selectivity)。 - **核心概念**: Query Plan, Selectivity Estimation, Cost-based Optimization, Heuristic Optimization. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 15h 🎯 **考试关联**: 使用动态规划表推导多表连接的最优顺序(Join Order)。 🧪 **Tutorial/Lab**: 使用 `EXPLAIN ANALYZE` 剖析 Postgres 执行计划中的成本估算。 📌 **作业关联**: **Project 1 截止**。 🔥 ⚠️ **易错点**: 优化器在数据分布倾斜时,因直方图失真选择了全表扫描。 (数据来源:2026 Course Handbook)
Week 6事务与并发控制基础 (Concurrency Control I)
### 🚥 核心知识点:ACID 与锁机制 进入数据库核心:事务管理。学习 ACID 特性,理解异常现象(脏读、不可重复读、幻读)。掌握严格两阶段锁协议(Strict 2PL)。 - **核心概念**: ACID Properties, Schedules/Histories, Conflict Serializability, 2PL. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 18h 🎯 **考试关联**: 画出优先图(Precedence Graph)判断调度是否冲突可串行化。 🧪 **Tutorial/Lab**: 编写多线程 SQL 脚本模拟并发事务引发的死锁。 📌 **作业关联**: **Project 2 发布**,涉及事务隔离级别与高并发处理。 ⚠️ **易错点**: 误以为 2PL 能防止死锁(实际上 2PL 极易引发死锁,需要死锁检测机制)。 (数据来源:2026 Course Handbook)
Week 7高级并发控制与 MVCC (Concurrency Control II)
### ⏱️ 核心知识点:多版本并发控制 探讨现代数据库的主流并发方案:多版本并发控制(MVCC)与乐观并发控制(Optimistic CC)。 - **核心概念**: Snapshot Isolation, MVCC, Optimistic Concurrency Control (OCC). ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 15h 🎯 **考试关联**: 解释 MVCC 中“读不阻塞写,写不阻塞读”的底层机制。 🧪 **Tutorial/Lab**: 在不同隔离级别(Read Committed vs Serializable)下测试快照异常(Write Skew)。 📌 **作业关联**: Project 2 中对高并发冲突场景的优化。 ⚠️ **易错点**: 认为 Snapshot Isolation 等同于完全的可串行化(Serializable)。 (数据来源:2026 Course Handbook)
Week 8故障恢复机制 (Crash Recovery)
### 🛡️ 核心知识点:ARIES 算法与 WAL 数据库崩溃后如何保证数据不丢失?深入剖析 Write-Ahead Logging (WAL) 以及 ARIES 恢复算法的三大阶段。 - **核心概念**: Write-Ahead Log (WAL), Steal/No-Force Policy, ARIES (Analysis, Redo, Undo). ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 18h 🎯 **考试关联**: 给定崩溃前的日志序列,推演 ARIES 算法中 Undo 阶段的 LSN 回溯过程。 🧪 **Tutorial/Lab**: 解析数据库二进制日志(Log Records)结构。 📌 **作业关联**: 深入理解 DBMS 的容错底座。 ⚠️ **易错点**: 在 Redo 阶段遗漏对崩溃时未提交事务(Loser Transactions)的重做重放(CLR)。 (数据来源:2026 Course Handbook)
Week 9分布式数据库架构 (Distributed Databases)
### 🌐 核心知识点:分片、复制与两阶段提交 走向分布式。探讨水平/垂直分片、数据复制策略以及处理分布式事务的两阶段提交协议(2PC)。 - **核心概念**: Data Partitioning, Replication, Two-Phase Commit (2PC), CAP Theorem. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 14h 🎯 **考试关联**: 描述 2PC 中协调者(Coordinator)宕机引发的阻塞问题(Blocking Problem)。 🧪 **Tutorial/Lab**: 部署简单的 Postgres 主从复制集群。 📌 **作业关联**: Project 2 数据分发模块。 ⚠️ **易错点**: 混淆两阶段锁(2PL,用于并发)与两阶段提交(2PC,用于分布式一致性)。 (数据来源:2026 Course Handbook)
Week 10非关系型数据库与列式存储 (NoSQL & Columnar)
### 📦 核心知识点:OLAP 与现代存储引擎 对比传统 OLTP(行式存储)与 OLAP(列式存储)。探讨 NoSQL(Key-Value, Document, Graph)的架构权衡。 - **核心概念**: Column-family Store, OLTP vs OLAP, LSM Trees (Log-Structured Merge-Tree). ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 列式存储中游程编码(Run-Length Encoding)的空间计算。 🧪 **Tutorial/Lab**: 使用 Apache Cassandra 或类似工具测试高频写入性能。 📌 **作业关联**: 现代数据架构的技术选型认知。 ⚠️ **易错点**: 试图用列式数据库处理高频的小规模单行事务读写。 (数据来源:2026 Course Handbook)
Week 11数据挖掘与分析架构 (Data Mining & Big Data)
### 📈 核心知识点:Apriori 算法与数据仓库 探讨数据库在分析领域的扩展。学习关联规则挖掘(Apriori 算法)以及数据仓库(Data Warehouse)中的星型模式。 - **核心概念**: Association Rules (Support, Confidence), Apriori Algorithm, Star Schema. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 给定交易记录集,推算频繁项集。 🧪 **Tutorial/Lab**: 编写 SQL 处理大规模多维数据集(Cube/Rollup)。 📌 **作业关联**: **Project 2 截止**。 🔥 ⚠️ **易错点**: Apriori 算法中候选项集的生成逻辑缺失剪枝步骤。 (数据来源:2026 Course Handbook)
Week 12前沿趋势与期末复习 (Trends & Final Review)
### 📝 复习周:DBMS 内核大阅兵 总结从 SQL 解析到存储引擎、从并发控制到故障恢复的完整 DBMS 架构链路。展望内存数据库(In-memory DB)与 NewSQL。 - **核心概念**: In-memory Databases, Architecture Review, Exam Preparation. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 20h+ 🎯 **考试关联**: 历年期末压轴大题,融合 B+树索引选择与 Join 代价估算。 🧪 **Tutorial/Lab**: 集中答疑与历年考题深度解析。 📌 **作业关联**: 无。 ⚠️ **易错点**: 复习时缺乏模块间的联动思维(例如:索引如何影响 Join 算法的选择)。 (数据来源:2026 Course Handbook)