摘要: simpleDB项目地址 概览 类概述 BTreePage:B+树节点(叶子节点和内部节点)的公共父类,存储了父节点页号protected int parent,并且使用protected final int keyField存储在表记录的哪个字段建立索引。 BTreeLeafPage:B+树的叶子 阅读全文
posted @ 2024-03-02 14:47 rockdow 阅读(8) 评论(0) 推荐(0) 编辑
摘要: simpleDB项目地址 基础知识 two-phase locking 两阶段锁:事务在操作一个对象时,必须先获得该对象上对应类型的锁,并且只有在事务提交时,才能释放锁。(Lab4要求实现页级别的锁,在之前的Lab中,每当操作表记录时,都会通过BufferPool.getPage()方法获取该记录所 阅读全文
posted @ 2024-03-01 20:55 rockdow 阅读(5) 评论(0) 推荐(0) 编辑
摘要: simpleDB项目地址 概览 IntHistogram作用 估计条件过滤某表的某个Int字段时,结果集记录数和该表记录总数的比例; StringHistogram类似IntHistogram TableStats作用 存放某表各个字段对应的直方图对象(IntHistogram或StringHist 阅读全文
posted @ 2024-02-29 20:49 rockdow 阅读(1) 评论(0) 推荐(0) 编辑
摘要: simpleDB项目地址 实验部分 实验1 Predicate类 用来存放对表记录进行条件过滤的信息(要过滤字段的序号,具体的比较规则,用来比较的字段),其内部的枚举类Op就是比较规则类,filter()方法的实现使用Field接口中的compare()即可。 JoinPredicate类 用来存放 阅读全文
posted @ 2024-02-27 20:18 rockdow 阅读(3) 评论(0) 推荐(0) 编辑
摘要: SimpleDB 项目地址 类介绍 TupleDesc类 TupleDesc类用来存储表结构,使用静态内部类TDItem封装字段类型和字段名称。 Tuple类 Tuple类用来存储具体的数据行,使用Filed接口数组存放不同字段类型的数据,使用TupleDesc成员变量存放与该数据行关联的表结构信息 阅读全文
posted @ 2024-01-22 15:15 rockdow 阅读(4) 评论(0) 推荐(0) 编辑
摘要: RARP(Reverse Address Resolution Protocol)和DHCP(Dynamic Host Configuration Protocol)是两种网络协议,它们都可以为某个刚接入网络的设备提供IP地址以实现互联通信。区别主要有以下几点: RARP是数据链路层的协议,无法跨路 阅读全文
posted @ 2024-01-15 18:55 rockdow 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 如图,客户端在收到服务端发来的FIN报文后,会进入TIME_WAIT阶段,该阶段最大持续时间为2MSL(MSL即报文段最大生存时间,超出该时间,TCP报文就会被丢弃)。设置TIME_WAIT阶段的主要原因有两点: 为了使客户端收到第四次挥手的ACK,从而正确关闭连接 假设第四次挥手时,客户端发送给服 阅读全文
posted @ 2024-01-11 19:56 rockdow 阅读(3) 评论(0) 推荐(0) 编辑
摘要: TCP(Transmission Control Protocol)连接是一种在计算机网络中常用的可靠的、面向连接的协议。TCP连接占用多种资源,其中一些主要包括: 内存: 每个TCP连接都需要分配一些内存用于存储连接的状态信息,例如缓冲区、窗口大小等。这些信息帮助维护连接的可靠性和流量控制。 文件 阅读全文
posted @ 2024-01-04 11:46 rockdow 阅读(70) 评论(0) 推荐(0) 编辑
摘要: MySQL的执行器使用两阶段提交主要解决 binlog 和 redo log 的数据一致性的问题。 假设只使用一阶段提交的话,整个commit流程图如下: 首先,redo log 和 binlog 写入系统缓存,接着 redo log 先刷盘,然后在 binlog 即将刷盘时系统发生故障,导致 bi 阅读全文
posted @ 2023-12-07 09:14 rockdow 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 假设我们为表table的a,b,c三列创建了联合索引create index idx_a_b_c on table(a,b,c),并且在B+树中,数据的存储顺序如下: (a=1 b=1 c=1) (a=1 b=2 c=1) (a=1 b=2 c=3) (a=2 b=2 c=3) (a=2 b=2 c 阅读全文
posted @ 2023-11-17 11:25 rockdow 阅读(221) 评论(0) 推荐(0) 编辑