个人简介

Echo Blog


江湖无名 安心练剑
  • 简易版数据库实现-09-MIT 6.830 SimpleDB Lab5 B+ TREE 索引
    B+树概述 B+ 树是一种树数据结构,是一个n叉树,每个节点通常有多个孩子,一颗B+树包含根节点、内部节点和叶子节点。 B+ 树通常用于数据库和操作系统的文件系统中。 B+ 树的特点是能够保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。 B+ 树元素自底向上插入。 特征 一个m阶的B树具有如下几个特征: 根结点至少有两个子女。 每个...
    2022-06-12 01:22:02 | Database
  • 简易版数据库实现-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