11 2024 档案

摘要:数据库在内存的存储形式 我们将从小到大介绍一下在 bustub 框架中数据库在内存中的存储形式. 在 bustub 中所有数据的存储单元是 Page, 而管理内存中的 Page 的是 BufferPoolManager, 这部分在前面的 Project1 已经介绍过了, 这部分是前面部分的延申, 具 阅读全文
posted @ 2024-11-28 16:44 虾野百鹤 阅读(121) 评论(0) 推荐(0)
摘要:关系数据库 Query Execution 的流程 你是否也和我一样很好奇, 当我们在数据库的控制台输入一条 SQL 语句的时候, 后台发生了哪些事情呢, DBMS 就像 OS 一样, 只是 DBMS 是对数据操作的抽象, 不像操作系统, 是对整个计算机的抽象. DBMS Query Executi 阅读全文
posted @ 2024-11-12 08:31 虾野百鹤 阅读(122) 评论(0) 推荐(0)
摘要:CMU_15445_P2_PageGuard 我将页面守护部分与多线程调用部分放在一起写在这篇博客中了, 页面守卫的本质是更加优雅方便的使用内存中的页(Pages). 我们知道Buffer_Pool_Manager实际上是管理页面, BPM 管理的是页面在内存中的组织形式与磁盘交互等, PageGu 阅读全文
posted @ 2024-11-07 21:14 虾野百鹤 阅读(273) 评论(0) 推荐(0)
摘要:到Project2, 我们依然在处理数据库存储相关的部分, 从 Project1 中我们应该Get到两个概念: 数据库底层数据操作的基本单元是 Page. buffer_pool_manager 是管理以及组织数据单元Page的工具, 在Project2的第一部分, 我们还新增了页面守护(PageG 阅读全文
posted @ 2024-11-06 10:13 虾野百鹤 阅读(226) 评论(0) 推荐(0)
摘要:移动构造与移动赋值 拷贝构造函数与移动赋值的重载 C++允许通过拷贝的方式来构造一个新的对象, 也允许通过移动赋值的方式构造一个新的对象. 在C++中新建一个类的时候, 默认的构造函数与移动赋值运算符都是基于浅拷贝执行的. 这个浅拷贝的构造函数与移动赋值运算符支持重载, 我们要说的就是重载这两个部分 阅读全文
posted @ 2024-11-05 17:21 虾野百鹤 阅读(448) 评论(0) 推荐(0)