区分操作系统 (OS) 文件和数据库管理系统 (DBMS) 文件,以及操作系统 (OS) 和数据库管理系统 (DBMS) 缓冲区管理器。


数据库管理系统 (DBMS) 是一种结合了计算机软件、硬件和数据的系统,旨在通过计算机处理来电子化地控制信息。

  • 数据库管理系统有两种类型:DBMS 和 FMS。

  • 简单来说,文件管理系统 (FMS) 是一种数据库管理系统,它允许一次访问单个记录或表格。

  • FMS 处理独立的记录,这些记录与其他文件没有关联。

  • FMS 是数据库管理系统 (DBMS) 的前身,DBMS 允许一次访问多个记录或表格。

我们需要使用磁盘存储数据库,并在主内存和磁盘之间交换数据块。

  • 我们还需要尽量减少这种交换的次数,因为它们很耗时。

  • 一种方法是尽可能多地将数据块保留在主内存 (MM) 中。

  • 通常,我们无法将所有数据块都保留在主内存中,因此我们需要管理可用的主内存空间。

  • 缓冲区是主内存中可用于存储磁盘块副本的部分。

DBMS 必须处理大量数据,在处理过程中,所需数据块的空间通常会超过可用的内存空间。

为此,需要管理一个内存区域来加载和卸载数据块。缓冲区管理器主要负责管理保存和加载数据块的活动。

缓冲区管理器提供的操作如下:

FIX

此命令指示缓冲区管理器从磁盘加载一个块并返回指向其在内存中加载位置的指针。如果该块已在内存中,缓冲区管理器只需返回指针;否则,它需要从磁盘加载并将其放入内存。

如果缓冲区内存已满,则可能有两种情况:一种是释放已被完成事务占用的内存部分的可能性。在这种情况下,在释放空间之前,如果该区域的任何块已被修改,则将其写入磁盘。

还可能存在由于事务仍在进行而导致的可用内存被占用的情况。

在这种情况下,缓冲区管理器可以采取两种方式:

  • 在第一种模式(STEAL)中,空闲缓冲区内存由一个正在进行的事务占用,可能将更改保存到磁盘。

  • 在第二种模式(NOT STEAL)中,请求的块将等待直到有空闲内存。

更新于:2021年7月8日

618 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告