跳转至

高级功能

任务 1:外连接(1 分)

实验描述

为 NestedLoop 算子添加外连接功能,要求支持左外连接、右外连接和全外连接三种功能。

任务 2:外存排序算子(2 分)

实验描述

基础功能中完成了内存中的排序算子的实现,高级功能中要求设计基于外存的排序算子。

实现思路

  • 步骤 1:理解外部归并排序算法的实现,并自行设计算法参数(如需要写入磁盘的记录的页面大小、内存最大页面数量等)。
  • 步骤 2:修改 OrderByOperator 的实现,在数据量超过一定阈值时使用外部归并排序进行排序。
  • 步骤 3:设计测例证明外部归并排序算法的正确性和有效性。

任务 3:内存哈希连接与分组聚合算子(2 分)

实验描述

基础功能中完成了几种难度适中的算子的实现,高级功能中要求在此基础上完成哈希连接算子以及分组聚合算子,其中分组聚合算子要求支持形如 select col1, AGG(col2) group by col1 的 SQL 语句。

实现思路

  • 步骤 1:设计哈希表,实现记录字段的哈希功能。
  • 步骤 2:基于哈希表和哈希函数实现内存上的哈希连接算子以及聚合算子。

高级功能满分不再设置为 3 分,总分超过 3 分时将按照实际得分记录,即每次实验总得分可以超过 20 分。