摘要:
https://15445.courses.cs.cmu.edu/fall2022/project1/ OVERVIEW 在本学期中,你将为 BusTub DBMS 构建一个新的 disk-oriented storage manager。这种 storage manager 假定数据库的主存储位置 阅读全文
posted @ 2022-11-22 22:12
Joey-Wang
阅读(332)
评论(0)
推荐(0)
摘要:
https://15445.courses.cs.cmu.edu/fall2022/project0/ bustub 项目用 C++ 17 编写,但 C++ 11 已经够用。 C++ 相关教程: short tutorial cppreference A Tour of C++ and Effect 阅读全文
posted @ 2022-11-22 21:48
Joey-Wang
阅读(436)
评论(0)
推荐(0)
摘要:
此处完成的是 CMU15-445 Fall2022 的 bustub 项目。 创建 Private Repo 在 github “create a new repository” 页面中直接创建一个private仓库,如 bustub-private。 # 1. 在本地创建一个原仓库的 bare c 阅读全文
posted @ 2022-11-22 21:34
Joey-Wang
阅读(587)
评论(0)
推荐(0)
摘要:
第一章 C++的初步认识 类是C++新增加的重要数据类型,可以体现数据的封装性和信息隐蔽。 封装:把有关数据与操作组成一个单位,与外界相对隔离。 大多情况下,将类中所有数据指定为私有,以实现信息隐蔽。 有类,可实现面向对象程序设计方法的封装、信息隐蔽、继承、派生、多态等功能。 声明语句即可放在函数内 阅读全文
posted @ 2022-11-22 21:27
Joey-Wang
阅读(83)
评论(0)
推荐(0)
摘要:
看的Linux公社的一篇文章,觉得不错,内容复制过来了。 其实在这之前,我一直以为gcc和g++是一个东西,只是有两个不同的名字而已,今天在linux下编译一个c代码时出现了错误才找了一下gcc和g++的区别。 先描述一下今天遇到的错误: 因为以前写程序的时候,写的都是cpp文件,然后就直接使用g+ 阅读全文
posted @ 2022-11-22 21:25
Joey-Wang
阅读(345)
评论(0)
推荐(0)
摘要:
Make 与 CMake CMake 入门实战 Make 🆚 CMake 首先先来了解一下gcc,gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(包括C、C++、Objective-C、Fortran、Java等等) 阅读全文
posted @ 2022-11-22 21:23
Joey-Wang
阅读(195)
评论(0)
推荐(0)
摘要:
从零开始介绍cmake-bilibili 说明 cmake的定义是什么 ? 高级编译配置工具 当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等)这时候神器就出现了 CMake! 所有操作都是通过编译CMakeLists.txt来完成的—简单 官 方网站 阅读全文
posted @ 2022-11-22 21:22
Joey-Wang
阅读(114)
评论(0)
推荐(0)
摘要:
**review:** 上节课我们说对于非唯一性索引(有重复的key): - Duplicate Keys:使用相同的叶结点布局,但存储 Duplicate Keys 多次。(更常用) - Value Lists:每个键 key 存储一次,并维护一个唯一的 value 的链表。 但在B+树中,实际应 阅读全文
posted @ 2022-11-22 18:12
Joey-Wang
阅读(70)
评论(0)
推荐(0)
摘要:
**review:** 我们上节课讨论了DBMS系统内部的 data structure: - **Internal Meta-Data(内部元数据)**:跟踪数据库和系统状态的信息。 - **Core Data Storage(核心数据存储)**:可以用作数据库中 tuple 的基础存储。数据库所 阅读全文
posted @ 2022-11-22 18:11
Joey-Wang
阅读(121)
评论(2)
推荐(0)
摘要:
**review:** 我们已讨论了如何往磁盘上存储数据,如何在磁盘上表示 page;如何将这些 page 放入内存、buffer pool 及其优化;并且通过⼀种策略来决定何时将 page 从 buffer pool 中移除,以及当我们在做写操作时,该如何锁住(pin)东⻄。 ## 1 数据结构 阅读全文
posted @ 2022-11-22 18:10
Joey-Wang
阅读(204)
评论(0)
推荐(0)
摘要:
**review: database workloads** OLTP:收集数据,运算快速,每次只读取/更新一小部分数据。(simple,read) OLAP:查询复杂,对大量OLTP收集数据进行读取分析,以推断出新数据。(complex,write) HTAP:既做OLTP又做OLAP的数据库系统 阅读全文
posted @ 2022-11-22 18:09
Joey-Wang
阅读(87)
评论(0)
推荐(0)
摘要:
我们希望构建面向磁盘的DBMS。 我们之前说过,数据库由一系列page表示;接着我们讨论了如何将heap文件拆分为page;然后讲了page中组织tuple的常用方法slotted-pages;最后是tuple中布局。 ## 1 数据表示 Tuple本质上就是 byte 数组。DBMS的任务就是将那 阅读全文
posted @ 2022-11-22 18:08
Joey-Wang
阅读(86)
评论(0)
推荐(0)
摘要:
前两节课讨论了从一个高级层面看待一个数据库该是怎样的,以及从逻辑层面而言对开发人员的样子。 本课程讨论实际该如何构建管理数据库系统(构建`面向磁盘的数据库管理系统`:数据库存储在磁盘中)。 这节课及下节课,集中讲解磁盘管理器,即我们实际该如何将数据存储在磁盘的文件中。然后,在此之上,我们需了解哪些A 阅读全文
posted @ 2022-11-22 18:07
Joey-Wang
阅读(128)
评论(0)
推荐(0)
摘要:
上节课提到关系代数,其目标是 **从更高层面告诉数据库我们想要的结果,而不告诉它如何做。** 🌰 对数据进行进行排序,若我们必须告诉数据库系统具体该如何做,则需提供给它具体的某种排序算法;若我们使用高级语言/声明式语言,则只需告知数据库完成对数据的排序,而并不介意它实际怎样完成。 👆是声明式语言 阅读全文
posted @ 2022-11-22 18:06
Joey-Wang
阅读(93)
评论(0)
推荐(0)
摘要:
### 课程大纲 1. 关系数据库概念 2. 数据库的存储 3. 数据库的查询 4. 数据库的并发控制,事务管理,遇到冲突或需要重启系统时如何恢复数据库 5. 更高级的内容——分布式数据库,其他类型的数据库,关系型数据库的扩展 ### 项目 如何构建一个用于评测的面向磁盘的数据库系统 面向磁盘:假设 阅读全文
posted @ 2022-11-22 18:05
Joey-Wang
阅读(168)
评论(0)
推荐(0)
摘要:
https://www.yuque.com/awescnb 1、修改博客皮肤为 Custom 2、在页面定制 CSS 代码 中 ( 注意要勾选禁用模本默认CSS ) 添加以下地址中的css代码: #loading{bottom:0;left:0;position:fixed;right:0;top: 阅读全文
posted @ 2022-11-22 17:55
Joey-Wang
阅读(47)
评论(0)
推荐(0)
摘要:
https://github.com/BNDong/Cnblogs-Theme-SimpleMemory https://www.likecs.com/show-306717407.html 1、修改博客皮肤为 SimpleMemory 2、在页面定制 CSS 代码 中 ( 注意要勾选禁用模本默认C 阅读全文
posted @ 2022-11-22 17:49
Joey-Wang
阅读(53)
评论(0)
推荐(0)

浙公网安备 33010602011771号