Week 6
Lab Practical Exercises
20%
涵盖每章 IO 代价手算与内核逻辑模拟的现场任务,强调对底层物理行为的理解。
COMP9315
课程定位 COMP9315 是 UNSW 计算机硕士专业在‘系统底层研发’维度的终极硬核课。它解决了开发者从‘数据库使用者’到‘数据库架构师’的本质跨越:当你在 SQL 中敲下 SELECT 时,数据库内核在磁盘和内存中究竟发生了什么?如何设计一个能支撑高并发读写的存储引擎?它是通往顶级大厂数据库研发组、内核驱动开发、及资深后端架构师岗位的‘黑带’级通行证。它将底层的 C 语言、物理存储结构、缓冲区管理与复杂的索引算法深度整合,是培养‘具备内核级掌控力开发者’的必修课。 技术栈与学习内容 课程以 C 语言为核心语言,深度解构关系数据库的内核。学习内容涵盖:物理存储模型(堆文件、哈希文件、索引文件)、缓冲区管理 (Buffer Management) 策略、查询执行引擎、最为核心的‘关系运算实现算法(连接 Join 算法、排序算法)’。此外,课程重点研究了查询优化器的代价估算模型、事务恢复 (Recovery) 机制以及 B+ 树与线性哈希索引的底层实现。学生将直接修改或扩展 PostgreSQL 的源代码逻辑。课程强调‘IO 开销的极致优化与内存管理的严密性’。 课程结构 10 周理论高强度输出与两个极具挑战的底层 C 编程项目结合。评估体系以‘地狱级’著称:包含每周的‘内核模拟’Lab、两个要求手写高效索引或查询算子的 Major Assignment(通常涉及实现一个自定义的存储访问方法并嵌入 PostgreSQL 环境)、以及一场强调 IO 代价推演、缓存置换算法证明与索引复杂度分析能力的期末综合大考。该课极其强调‘手敲高性能系统代码’的能力。 适合人群 计算机硕士大三/大四、或打算从事数据库内核开发的理工科生。必须具备极其扎实的 C 语言功底(COMP1521/9024)。如果你想在面试中谈论‘如何利用外部排序优化 TB 级 Join’、或者渴望在未来的云数据库时代建立底层主权,这门课是你的神功。建议每周投入 30 小时以上进行‘指针与 IO’的深度死磕。
Course decision
先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。
考核总权重
100%
3 项考核
最高单项
45%
Final Professional Examination
期末考试
有
以官方 outline 为准
Hurdle
1 项
需要单独满足
Deadline map
按截止周排列作业节点;持续考核会保留在下方完整考核结构中。
Week 6
20%
涵盖每章 IO 代价手算与内核逻辑模拟的现场任务,强调对底层物理行为的理解。
Week 10
35%
两个高难度的 C 项目,要求在 PostgreSQL 环境下实现高性能的自定义索引或查询操作符。
Week 11
45%
全面考察 IO 代价推演、索引算法证明及查询优化路径判定能力的深度笔试。
Syllabus
默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。
DBMS 层次结构,物理层与逻辑层的解耦,PostgreSQL 源码预览。
页 (Page) 与块 (Block) 布局,槽位管理 (Slotted Pages),变长记录处理逻辑。
LRU, Clock 等置换算法推演,固定策略,处理页读写冲突 (Latching)。
多层索引结构,插入与合并算法,磁盘 IO 深度分析,处理并发访问。
动态哈希扩张逻辑,溢出页处理,索引查找与更新的时间复杂度证明。
复习 IO 代价模型,冲刺第一个 PostgreSQL 扩展项目(如手写存储过程),练习 GDB 调试。
嵌套循环 Join,排序合并 Join,哈希 Join,外部排序算法的 IO 开销分析。
代数等价变换,选择率估计,直方图应用,动态规划在多表连接路径中的搜索。
多版本并发控制 (MVCC),事务管理器内部状态,死锁检测的拓扑算法。
预写式日志 (WAL) 原理,ARIES 恢复算法,全学期内核逻辑大复盘;迎接 Final。
Assessment
DBMS Internal Assignments
两个高难度的 C 项目,要求在 PostgreSQL 环境下实现高性能的自定义索引或查询操作符。
Week 10
Lab Practical Exercises
涵盖每章 IO 代价手算与内核逻辑模拟的现场任务,强调对底层物理行为的理解。
Week 6
Final Professional ExaminationHurdle
全面考察 IO 代价推演、索引算法证明及查询优化路径判定能力的深度笔试。
Week 11
From Seniors
基础信息谁都查得到,真正值钱的是过来人的经验。
比你早一年的学长留下的真实经验 —— ChatGPT 给不了。
这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。
这门课暂无往年考点记录。
下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。
统计自 317 份脱敏校友证言
岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer
岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer
岗位:Full-stack Developer · Data Engineer · Consultant
关于这块数据,我们说实话
雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。
我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。