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

📅  最后修改于: 2021-09-09 11:31:09             🧑  作者: Mango

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

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

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

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

    例如, GRU (Group LRU)给每个域一个优先级并从低优先级域中选择页面,而其他方法根据当前工作负载动态改变每个域中的缓冲区数量。

  2. 热定型方法:
    这在必须重复扫描一组页面的查询中很有用,例如使用嵌套循环方法执行连接操作的情况。如果内循环文件被完全加载到主内存缓冲区而没有替换(热集),则连接将有效执行,因为外循环文件中的每个页面都必须扫描内循环文件中的所有记录以查找连接匹配。

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

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