自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 06-哈希表

本文根据CMU15-445课程内容编写,因为数据库术语较多,为避免翻译问题带来的理解偏差,部分术语使用英语表达。DBMS需要使用各种各样的数据结构来维护系统的内部数据。比如:当我们在DBMS中实现数据结构时,有两点需要特别注意:哈希表是一种抽象数据类型,它使用哈希函数将数据从键空间(key space)映射到值空间(value space)。在哈希表上做增删改查等操作的平均时间复杂度是O(1)O(1)O(1)(最差的情况是O(n)O(n)O(n)),空间复杂度是O(n)O(n)O(n)。值得注意的是,即使哈

2022-12-04 11:13:01 842 1

原创 05-缓冲池

之前我们提到过,数据库由DBMS负责管理内存和磁盘之间的数据移动。因为数据不能直接在磁盘中进行处理,所以当上层请求数据时,DBMS首先需要将数据移动到内存中。因此,为了实现这个功能,我们需要在内存中开辟一块内存,称为缓冲池,同时需要设计一个缓冲池管理器,用于管理缓冲池。示意图如下。这其中有一个难点在于如何减少因磁盘读写而造成的停顿。我们可以从时间控制和空间控制空间角度(Spatial Control)指的是我们将页面写入磁盘的哪些位置。空间控制的目的是将大概率一起使用的页面放到磁盘上相邻的位置。

2022-11-04 18:41:47 492 1

原创 04-数据库存储2

上次我们讲到了元组其实就是一系列的字节。DBMS根据我们数据库的模式(schema)将字节翻译成对应数据类型的值。现在我们将要讨论DBMS如何将不同数据类型的值存储成一系列的字节。

2022-10-30 16:15:45 105

原创 03-数据库存储(第一部分)

之前我们讨论了从一个较高的维度来看数据库的运行是怎么样的,我们利用数据库存储数据,并且在数据库上运行SQL语句。现在我们研究如何构建一个数据库软件。

2022-10-27 15:02:41 651

原创 18-Timestamp Ordering Concurrency Control

基于时间戳的数据库并发控制协议,根据CMU15-445课程编写。

2022-10-17 17:18:54 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除