📜  DBMS中的特定缓冲区替换策略

📅  最后修改于: 2021-08-29 11:49:45             🧑  作者: Mango

在本文中,我们将讨论缓冲区替换策略,并且还将介绍每种策略的一些特定功能。让我们一一讨论。

DBMS缓存将保存磁盘页面,这些页面包含当前正在主内存缓冲区中处理的信息。如果复制了DBMS缓存中的所有缓冲区,并且需要从磁盘将新的磁盘页面加载到主内存中,则需要一种新的页面替换策略来选择要替换的特定缓冲区。

以下是专门为数据库系统开发的一些页面替换策略。

  1. 域分离(DS)方法:
    DBMS包含许多磁盘页面,例如索引页面,数据文件页面,日志文件页面等。DBMS缓存分为单独的域(缓冲区集)。每个域处理一种类型的磁盘页面,并且每个域内的页面替换都通过基本的LRU(最近最少使用)页面替换来处理。它是静态算法,不适应动态变化的负载。在此提出了几种增加动态负载平衡功能的变体。

    例如, GRU (组LRU)为每个域分配一个优先级,并从低优先级域中选择页面,而其他方法则根据当前的工作量动态更改每个域中的缓冲区数。

  2. 热定方法:
    这在必须重复扫描一组页面的查询中很有用,例如在使用嵌套循环方法执行联接操作的地方。如果将内部循环文件完全装入主内存缓冲区而不进行替换(热设置),则将有效执行联接,因为外部循环文件中的每个页面都必须扫描内部循环文件中的所有记录以查找联接匹配项。

    该方法为每个数据库处理算法确定将被重复访问的磁盘页面集,并且在完成其处理之前不会替换它们。

  3. DBMIN方法:
    这使用称为QLSM(查询位置集模型)的模型,该模型为特定类型的数据库操作预先确定每种算法的页面引用模式。此方法使用QLSM计算查询中涉及的每个文件实例的位置集。然后,它将基于该文件实例的位置集,为与查询有关的每个文件实例分配适当的no.of缓冲区。