个人简介

Echo Blog


江湖无名 安心练剑
  • 简易版数据库实现-08-MIT 6.830 SimpleDB Lab4 事务
    # 一、实验预览 实验四要求我们实现基于 2pl 协议的事务, 先来说一下在 simpleDB 中是如何实现事务的: 在SimpleDB中,每个事务都会有一个Transaction对象,我们用TransactionId来唯一标识一个事务,TransactionId在Transaction对象创建时自动获取。 事务开始前,会创建一个Transaction对象,trasactionId...
    2022-06-12 01:22:02 | Database
  • 简易版数据库实现-07-MIT 6.830 SimpleDB Lab3 Resolve 查询优化选择最佳的策略
    Exercise 3: Join Cost Estimation 查询代价 exercise3要做的是估计连接查询的代价,以下是讲义: 其实这应该是四个exercise最容易的一个,就是看懂了连接查询的公式,然后写一下就好了,以下是公式: scancost(t1) + scancost(t2) + joincost(t1 join t2) + scancost(t3) + jo...
    2022-06-12 01:22:02 | Database
  • 简易版数据库实现-07-MIT 6.830 SimpleDB Lab3 Resolve 查询优化表数据统计
    # 一、实验概览 lab3实现的是基于代价的查询优化器,以下是讲义给出的实验的大纲: 回想一下,基于成本的优化器的主要思想是: - 使用有关表的统计信息来估计不同的“成本” > 查询计划。 通常,一个计划的成本与基数(基数)有关。 >(产生的元组数)中间连接和选择,以及 > 过滤器和连接谓词的选择性。 - 使用这些统计信息对连接和选择进行排序...
    2022-06-12 01:22:02 | Database
  • 简易版数据库实现-06-MIT 6.830 SimpleDB Lab3 Resolve 查询优化
    # 一、实验概览 lab3实现的是基于代价的查询优化器,以下是讲义给出的实验的大纲: Recall that the main idea of a cost-based optimizer is to: - Use statistics about tables to estimate “costs” of different > query plans. Typical...
    2022-06-12 01:22:02 | Database
  • 简易版数据库实现-04-MIT 6.830 SimpleDB Lab2 Resolve
    一、实验概览 这个实验需要完成的内容有: 实现过滤、连接运算符,这些类都是继承与OpIterator接口了,该实验提供了OrderBy的操作符实现,可以参考实现。最终的SQL语句解析出来都是要依靠这些运算符的; 实现聚合函数,由于该数据库只有int和string两种类型,int类型可实现的聚合函数有max,min,avg,count等,string类型...
    2022-06-12 01:22:02 | Database
  • 简易版数据库实现-04-MIT 6.830 SimpleDB Lab2 Filter OrderBy Join 实现
    Exercise1: Filter and Join exercise1要求我们完成Filter和Join两种操作符,下面是相关描述: Filter: This operator only returns tuples that satisfy a Predicate that is specified as part of its constructor. Hence,...
    2022-06-12 01:22:02 | Database
  • 简易版数据库实现-04-MIT 6.830 SimpleDB Lab2 HeapFile 文件操作实现
    ## Exercise3: HeapFile Mutability 为了在 Exercise4 中实现 insert 和 delete operator, 我们需要先实现 heapFile insert / delete 讲义介绍: 现在,我们将开始实现支持修改表的方法。 我们从单个页面和文件的级别开始。 有两组主要的操作:添加元组和删除元组。 **删除元组:** 要删除元组,您...
    2022-06-12 01:22:02 | Database
  • 简易版数据库实现-04-MIT 6.830 SimpleDB Lab2 Aggregate 聚合实现
    Exercise2: Aggregates 介绍 一个额外的 SimpleDB 运算符使用 `GROUP BY` 子句实现基本 SQL 聚合。 您应该实现五个 SQL 聚合(`COUNT`、`SUM`、`AVG`、`MIN`、`MAX`)并支持分组。 您只需要支持单个字段的聚合,并按单个字段分组。 为了计算聚合,我们使用“聚合器(聚合器)”接口将新元组合并到聚合的现有计算中。 `...
    2022-06-12 01:22:02 | Database