Deloitte
6 位校友岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer
COMP90050
课程定位 COMP90050(Advanced Database Systems)是墨尔本大学计算机方向的研究生课程,定位在专业能力深化与行业/研究应用之间。课程通常面向已有编程与基础算法背景的学习者,强调把课堂知识转化为可交付成果。它常作为后续 capstone、研究项目或岗位能力提升的关键衔接课。 技术栈与学习内容 课程内容围绕高级计算机主题展开,常见技术包括 Python、C/C++、机器学习工具链、系统设计方法、实验评估流程与学术检索写作。学习不仅要求掌握核心概念,还需要解释方法选择依据、结果可信度与局限性,训练“问题定义-方案设计-评估优化”的完整链路。 课程结构 一般按 12-13 周推进:前段建立理论框架,中段进入高密度作业与案例实践,后段做综合整合与期末评估。考核通常由 Quiz/实验、2 次作业或项目、展示及期末评估构成。即便没有明确 Hurdle,评分依旧会关注关键能力达标,不能依赖单项突击。 适合人群 适合希望在 AI、软件工程、数据与系统方向进一步深耕的硕士同学。建议每周投入 10-14 小时,采用“预习-实践-复盘”节奏。课程难点在于多任务并行与高标准输出;能稳定执行周计划并及时复盘的人,后期表现通常更稳。
Syllabus
### 📊 核心知识点:形式化查询基础 快速复习基础 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)
### 🗄️ 核心知识点:磁盘与缓冲池管理 探讨数据库管理系统(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)
### 🌳 核心知识点:极速数据定位 深度解析 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)
### ⚙️ 核心知识点: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)
### 🧠 核心知识点:代价估算与执行计划 理解 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)
### 🚥 核心知识点:ACID 与锁机制 进入数据库核心:事务管理。学习 ACID 特性,理解异常现象(脏读、不可重复读、幻读)。掌握严格两阶段锁协议(Strict 2PL)。 - **核心概念**: ACID Properties, Schedules/Histories, Conflict Serializability, 2PL. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 18h 🎯 **考试关联**: 画出优先图(Precedence Graph)判断调度是否冲突可串行化。 🧪 **Tutorial/Lab**: 编写多线程 SQL 脚本模拟并发事务引发的死锁。 📌 **作业关联**: **Project 2 发布**,涉及事务隔离级别与高并发处理。 ⚠️ **易错点**: 误以为 2PL 能防止死锁(实际上 2PL 极易引发死锁,需要死锁检测机制)。 (数据来源:2026 Course Handbook)
### ⏱️ 核心知识点:多版本并发控制 探讨现代数据库的主流并发方案:多版本并发控制(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)
### 🛡️ 核心知识点: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)
### 🌐 核心知识点:分片、复制与两阶段提交 走向分布式。探讨水平/垂直分片、数据复制策略以及处理分布式事务的两阶段提交协议(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)
### 📦 核心知识点: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)
### 📈 核心知识点:Apriori 算法与数据仓库 探讨数据库在分析领域的扩展。学习关联规则挖掘(Apriori 算法)以及数据仓库(Data Warehouse)中的星型模式。 - **核心概念**: Association Rules (Support, Confidence), Apriori Algorithm, Star Schema. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 给定交易记录集,推算频繁项集。 🧪 **Tutorial/Lab**: 编写 SQL 处理大规模多维数据集(Cube/Rollup)。 📌 **作业关联**: **Project 2 截止**。 🔥 ⚠️ **易错点**: Apriori 算法中候选项集的生成逻辑缺失剪枝步骤。 (数据来源:2026 Course Handbook)
### 📝 复习周:DBMS 内核大阅兵 总结从 SQL 解析到存储引擎、从并发控制到故障恢复的完整 DBMS 架构链路。展望内存数据库(In-memory DB)与 NewSQL。 - **核心概念**: In-memory Databases, Architecture Review, Exam Preparation. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 20h+ 🎯 **考试关联**: 历年期末压轴大题,融合 B+树索引选择与 Join 代价估算。 🧪 **Tutorial/Lab**: 集中答疑与历年考题深度解析。 📌 **作业关联**: 无。 ⚠️ **易错点**: 复习时缺乏模块间的联动思维(例如:索引如何影响 Join 算法的选择)。 (数据来源:2026 Course Handbook)
Assessment
Quiz / Lab
阶段性理解与实践能力检查。
Assignment 1
专题分析与实现任务。
Assignment 2 / Project
综合项目或实验报告。
Final Assessment
期末综合评估。
Assignments
完成 COMP90050 对应主题的实验与分析任务。
要求:提交结构化报告与代码
⏱ 预计 16 小时
完成综合项目并给出性能与风险分析。
要求:提交报告/展示材料
⏱ 预计 22 小时
Reviews
3.0
难度
4.0
含金量
1.0
压力
5.0
教师评分
我个人建议不要选这个课程。 自20年以来未更新。 旧概念。 错误的解释,最后的测试很困难。
From Seniors
基础信息谁都查得到,真正值钱的是过来人的经验。
比你早一年的学长留下的真实经验 —— ChatGPT 给不了。
这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。
这门课暂无往年考点记录。
下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。
统计自 313 份脱敏校友证言
岗位: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)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。
我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。