MIT 6.830
文章平均质量分 91
马走日_ZouR-Ma
我们的生活可以比电影还要精彩,还要励志,就看我们怎么对待它
展开
-
MIT6.830 Lab 5 B+ Tree Index B+树索引
Lab 5 B+ Tree Index本次lab就是要实现B+树索引,在lab 1中实现的HeapFile实际上实现的是顺序索引,但真正数据库使用的一般都是B+树索引,或者像leveldb使用跳表作为索引。如果需要补充B树或者B+树的知识可以看下面两个链接,B树,B+树。Exercise 1 实现BTreeFile.findLeafPage()首先我们需要明确的是findLeafPage函数做的是什么,该函数提供的功能是,返回所需节点的所在页面,也就是找到该节点所在的叶子节点的页面。同时在函数内部原创 2021-11-15 10:40:42 · 842 阅读 · 0 评论 -
MIT 6.830 Lab 4 实验笔记 两段锁以及事物
Lab 4 两段锁以及事务本章Lab就开始进入数据库的深水区了,前面的就算是开胃小菜吧,从本章开始我们需要接触到数据库中重要的知识点——事务,不了解事物的同学可以看看这篇文章 事务的理解 。同时,与事务同时出现的带有两段锁协议,以及排他锁、共享锁和意向锁等关于锁的理解可以看这篇文章 锁的理解 。Exercise 1 Acquire and Release locks in BufferPoolExercise 1 是让我们在BufferPool.java中实现,加锁和解锁等一系类操作,并且锁的颗粒度是原创 2021-07-15 21:07:00 · 904 阅读 · 4 评论 -
MIT6.830 Lab 3 查询优化 学习笔记
Lab3 查询优化Exercise 1 基于直方图的选择性估计可能刚看本章的同学有点迷惑,为什么说了一堆统计的内容,因为查询优化的本质就是希望预先知道,执行语句时怎么才能更快,统计就能帮我们更好的估计大概需要多少的时间以选择更优的执行顺序。在做Exercise 1之前,强烈建议认真看完本章提供的学习文档中的Optimizer outline,特别是2.2的Filter Selectivity,看完你就能懂基于直方图的选择性估计是怎么一回事了(看不懂的可以往下看,我详细的描述了代码的原理),在该估计当原创 2021-07-12 20:53:11 · 827 阅读 · 0 评论 -
MIT 6.830 Lab 2 实验笔记 表操作符的实现
Lab2 表操作符的实现Exercise 1 Filter 和 Join 的实现Predicate.java 很简单(是比较表内的字段和提供的数据),就是实例一下传入字段序号、比较符和待比较的数,主要是在构造函数中实例化三个成员变量,然后补充一下get方法以及filter函数(返回True or False)public Predicate(int field, Op op, Field operand) { // some code goes here this.原创 2021-07-08 22:18:37 · 624 阅读 · 0 评论 -
MIT6.830 Lab 1 实验笔记 底层存储相关单元
Lab1 底层存储相关单元Exercise 1 TupleDesc 和 TupleTupleDesc 代表的是数据库中表头的一行的具体类型 包括了一张表中的数据类型和名称。然后TupleDesc.java中就有个数组 TDItem[ ]代表了这张表里面的表头,数据类型就是在里面定义的静态的内部类。public static class TDItem implements Serializable { private static final long serialVersion原创 2021-07-08 22:14:35 · 764 阅读 · 0 评论