DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Управление буферным кэшем базы данных в Oracle8i и последующих версиях .


Алгоритм, управляющий буферным кэшем базы данных в Oracle8i и последу­ющих версиях, существенно отличается от старого алгоритма LRU. Он называ­ется 

алгоритмом счетчика контактов. 

Основная стоящая за новым алгоритмом концепция заключается в управлении буферами в буферном кэше базы данных на основании числа доступов к блоку, или "контактов" с ним. Это более эффек­тивно, чем "хронологическое" перемещение блока к вершине списка при каждом его использовании. Данный алгоритм существенно сокращает наклад­ные расходы на управление списком LRU. Кроме того, он полностью устраняет любую необходимость полностью "защелкивать" буфер при передвижении его по списку. Буфер больше не перемещается со своего постоянного местоположе­ния в списке при каждом обращении к нему, или "контакте". Когда происходит обращение к буферу, его счетчик контактов 

увеличивается.

Как же стареют блоки? Это очень сложный процесс, но мы объясним его в простых терминах. Имеется некий внутренний порог, значение которого указы­вает, какие блоки могут оставаться в списке, а какие должны считаться устарев­шими. Если блок рассматривается как кандидат, чтобы стать устаревшим, его счетчик контактов сравнивается с этим порогом. Если счетчик контактов больше порога, то он устанавливается равным либо какому-то малому числу, либо полови­не своего первоначального значения (выбор определяется внутренними установ­ками и является конфигурируемым). Это делается для того, чтобы дать блоку еще один шанс остаться в кэше, так как он использовался в недавнем прошлом.
Если счетчик контактов меньше порога, он признается устаревшим и заменя­ется новыми данными, заносимыми в кэш буфера базы данных. В отличие от ал­горитма LRU, в котором новый блок вносился в вершину списка LRU, новый алгоритм после переустановки счетчика контактов блока помещает его в сере­дину списка. Рациональное зерно этого метода заключается в том, чтобы заста­вить блок "заработать" себе путь к вершине списка.
Выше средней точки может быть только конечное число блоков, и все блоки
со счетчиками контактов, превышающими этот порог, передвигаются к верши-
не списка (а такими, по практическим соображениям, могут быть только блоки,
размещенные выше средней        Реализация этого нового алгоритма приво-
дит к тому, что кэш буфера базы данных становится поддерживаемым тремя списками: главным, вспомогательным и списком замещения. Детали механизма поддержки выходят за рамки книги, но мы надеемся, что, по крайней мере, раз­дразнили ваш аппетит.

Замечание
Хотя существует документация, позволяющая предположить, что описанный новый алгоритм был реализован в 0racle8, наши исследования "внутренних параметров", необходимых для этого алгоритма, дают основание утверждать, что изменения произошли только в Oracle8i.
 


мошонки и анус . Интернет магазин, товары для быта: игрушка мягкая. Игрушки и подарки для детей.







jAntivirus