CMU15-445 Buffer Pool & Project1-Fall2019版

CMU15-445 Buffer Pool & Project1-Fall2019版

1. Buffer Pool 是什么

Buffer Pool 是暂时存放再内存中的一块数据,数据内容为从磁盘中读取到的页的信息。

2. 为什么要用 Buffer Pool

简单的说是为了题速,由于读取速度从CPU->磁盘依次减慢

CMU15-445 Buffer Pool & Project1-Fall2019版_第1张图片

我们需要想办法把磁盘中的数据暂时存放在内存中,buffer pool 是我们用来存放这些信息的地方。

3. Buffer Pool 的结构

Buffer Pool 可以设计为一个对象数组,用来存放一个个的 Page 对象,由 Page_Id 来做区分读取和存放数据。

一些 metadata:

  1. isDirty 该page 是否被修改
  2. pinCount 该 page 正在被几个线程访问
  3. pageId 用来标记唯一 page
  4. data 用来存储 page 的真实数据

4. Lock VS Latches

你可能感兴趣的:(CMU15-445,数据库,linux)