Классика баз данных - статьи

       

Перемещение страниц


Кроме обеспечения ввода-вывода в основную память и из нее, в трехуровневой иерархии памяти также требуется перемещение данных между флэш-памятью и дисками. Механизм перемещения страниц может быть реализован на уровне аппаратуры (например, на основе DMA, Direct Memory Access) или на основе пересылки данных через основную память. Первый вариант обещает более высокую производительность, зато второй может быть полностью реализован программным образом без потребности в новой аппаратуре. С другой стороны, у производителей гибридных дисков уже могут иметься аппаратные реализации, пригодные по соотношению «цена-производительность».

Политика перемещения страниц обуславливается стратегией подкачки страниц по требованию и их замещения в соответствии с алгоритмом LRU. Как уже отмечалось, политика замещения страниц и в файловых системах, и в системах баз данных может основываться на LRU, и ее можно реализовать с использованием соответствующих структур данных в основной памяти. Как и при управлении буферами основной памяти, здесь могут иметься различные варианты, связанные с применением упреждающего чтения и отложенной записи. В системах баз данных применение разных вариантов может управляться подсказками от уровня выполнения запросов, а в файловых системах потребуется распознавать паттерны доступа и значимые действия по упреждающему чтению без каких-либо подобных подсказок.

Если флэш-память является частью персистентного хранилища данных, то перемещение страниц между флэш-памятью и дисками подобно перемещению страниц во время процесса дефрагментации как в файловых системах, так и в системах баз данных. Наиболее существенным различием является то, каким образом в этих видах систем отслеживается местоположение, в которое перемещается страница, и в котором находится текущая страница.



Содержание раздела