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

       

Однако при отказе системы описание


Однако при отказе системы описание содержимого флэш-памяти, сохраняемое в основной памяти, будет утрачено, и его потребуется реконструировать путем анализа содержимого способом, очень близким к тому, который применяется при восстановлении традиционных файловых систем. В качестве альтернативы содержимое флэш-памяти можно было бы аннулировать и загружать по требованию.
С другой стороны, в системах баз данных флэш-память будет использоваться как персистентное хранилище на основе модели расширенного диска. Текущее содержимое будет описываться персистентными структурами данных (например, родительскими узлами индексов на основе B-деревьев). Традиционные механизмы поддержки долговечности данных (в частности, журнализация и контрольные точки) обеспечивают согласованность данных и их эффективное восстановление после отказов системы. При запланированном останове системы нет потребности в переписи содержимого флэш-памяти на диск.
Имеются две причины использования разных моделей флэш-памяти. Во-первых, системы баз данных полагаются на регулярное выполнение операций установки контрольных точек, во время которого измененные страницы выталкиваются из буферного пула в персистентное хранилище. Перемещение измененной страницы из основной памяти в расширенный буферный пул во флэш-памяти приводит к существенным накладным расходам при выполнении следующей операции установки контрольной точки. Необходимо найти свободный буфер в основной памяти, прочитать в основную память содержимое страницы из флэш-памяти и затем записать эту страницу на диск. Совершенно ни к чему добавлять такие накладные расходы к операции установки контрольной точки, которая в системах баз данных выполняется довольно часто. С другой стороны, в операционных системах и файловых системах контрольные точки не используются, и поэтому в них флэш-память можно использовать как расширенный буферный пул.
Во-вторых, в основных персистентных структурах данных баз данных – B-деревьях – обеспечиваются механизмы отображения и отслеживания местоположений, требующие выполнения частых перемещений и замещений страниц.Следовательно, для отслеживания местоположения страницы данных при ее перемещении между диском и флэш-памятью можно использовать ту же структуру данных, которая поддерживается для обеспечения эффективного поиска в базе данных. Кроме того, что удается обойтись без описателей буферного пула и т.д. для страниц во флэш-памяти, отсутствие косвенности при адресации страницы позволяет максимально ускорить поиск в базе данных.
Наконец, поскольку у флэш-памяти и дисков существенно отличаются соотношения времени задержки доступа и скорости передачи данных, для них являются оптимальными разные размеры узлов B-дерева. О’Нейл в своей работе о SB-дереве показывает, что в многоуровневой иерархии памяти требуются два разных размера узлов. Для перемещения отдельных страниц требуются недорогие механизмы, точно такие же, как те, которые нужны для перемещения страниц между флэш-памятью и диском.

Содержание  Назад  Вперед