📜  缓冲区替换策略

📅  最后修改于: 2020-12-12 08:08:05             🧑  作者: Mango

缓冲液更换策略

缓冲区替换是一种使用新块替换缓冲区中现有块的方法。这样,它有助于减少磁盘访问次数。

缓冲区管理器使用以下策略进行缓冲区替换:

最近最少使用(LRU)策略

根据LRU,最近使用中得分最低的数据或过程将被新的过程或数据替换。在块替换策略中,如果需要替换现有块,则将替换最近引用最少的块。但是,数据库系统的替换方案与操作系统不同。操作系统依靠过去来预测未来。但是,数据库系统能够准确预测未来的计划。通常,用户需要遵循各种步骤来向数据库系统发出阻止请求。但是,这些步骤使数据库系统可以提前确定请求的块。

立即折腾策略

根据此策略,当释放特定块所占用的空间时,应在处理最终结果之前获得缓冲区管理器的指令。这将帮助数据库系统知道空间将要空缺,并且可以在该位置分配一个新块。这种类型的块替换策略称为“抛弃策略”。

例如,考虑存储在单独文件中的两个关系R1和R2。如果R1已处理,则不再需要。因此,包含R1的块的处理完成,并且不再需要主存储器中的块。即使是最近也被使用过。最后,缓冲区管理器获取信息,并将报告传递给数据库系统以进行进一步处理。

最近使用(MRU)策略

MRU遵循与LRU相反的策略。根据MRU,最近使用中得分最高的数据或过程将被新的数据或过程替换。在块替换策略中,最近使用的块将替换为新块。这种类型的缓冲区替换策略称为“最近使用的策略”。

结果,数据库系统根据不同的场景选择并遵循了合适的策略。但是,可以看出,即使大型数据库系统也可能存在一些故障,但它们最多都使用LRU技术。时间也是选择适当策略的影响因素。有时,数据库系统可能会收到并发的用户请求,因此,为了保持数据一致性,可能需要延迟某些请求。在此期间,如果缓冲区管理器知道被延迟的请求块的信息,则它可以使用该信息来更改其策略。但是,缓冲区管理器可以保留具有延迟块的非延迟块的请求。