Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / Л-8 - Организация среды хранения

.pdf
Скачиваний:
11
Добавлен:
28.06.2021
Размер:
712.43 Кб
Скачать

Страничная организация данных

Для структуризации хранимых данных, эффективного управления ресурсами и технологического удобства пространство памяти БД разделяется на области (экстенты).

В каждой области, как правило, хранятся данные одного объекта БД (одной таблицы).

Сведения о месте расположения данных (ссылку на область) СУБД хранит в словаре-справочнике данных.

Области разбиваются на пронумерованные страницы

(блоки) фиксированного размера.

Экстент

Экстент – непрерывная область дисковой памяти, включающая несколько страниц фиксированной длины.

Новый экстент создается после заполнения предыдущего

исвязывается с ним ссылкой (на последней странице экстента либо в специальной карте размещения). Учет свободных страниц ведется внутри экстента.

Экстент используется для хранения:

страниц данных;

страниц индексов;

битовых страниц;

страниц Blob-объектов (Binary Large Object).

Страницы данных

Данные на одной странице являются однородными (например, только данные или только индексы).

Основная логическая единица операций обмена – страница данных, хранящая данные в виде записей.

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

В большинстве систем обработку данных на уровне страниц ведет ОС, а обработку записей внутри страницы обеспечивает СУБД.

Структура страницы данных

Заголовок страницы, содержащий номер страницы, номера предыдущей и следующей страниц, сведения о свободном пространстве на странице.

Дескрипторы записей, задающие смещение записи на странице и длину записи (это позволяет при переупорядочении записей на странице не перемещать их физически (все манипуляции производятся с дескрипторами).

Содержание – записи данных (последовательность кодов), каждая из которых имеет уникальный идентификатор в рамках всей БД, состоящий из номера страницы и номера записи на странице.

Прочие виды страниц

Страницы индексов – для организации быстрого доступа (обычно организованы в виде В-деревьев).

Страницы BLOB (Binary Large Object) – для хранения слабоструктурированной информации. Эти данные рассматриваются как потоки байтов произвольного размера (страницы данных содержат ссылки на эти страницы).

Битовые страницы – для трассировки других типов страниц. 4-битовые страницы служат для хранения сведений о столбцах типа Varchar, Byte, Text. Для остальных типов данных используются 2-битовые страницы.

Управление страницами

Страницы представляются в среде ОС блоками ВП, доступ к которым осуществляется за одно обращение.

Некоторые СУБД позволяют управлять размером страницы. Размер страницы определяется на основе компромисса между производительностью системы и объемом ОП.

Система автоматически управляет свободным пространством памяти на страницах. Это обеспечивает один из двух способов:

ведение списков свободных участков;

динамическая реорганизация страниц.

Динамическая реорганизация страниц (1)

Записи плотно размещаются после заголовка страницы, а затем распола-

гается свободный участок. Смещение начала свободного участка хранится в заголовке страницы.

При удалении записи оставшиеся записи переписываются подряд в начало страницы, и модифицируется смещение начала свободного участка.

При увеличении размера существующей записи она записывается по прежнему адресу, а последующие записи сдвигаются.

Динамическая реорганизация страниц (2)

Достоинство подхода – отсутствие фрагментации.

Недостатки:

адрес записи можно определить с точностью до адреса страницы (внутри страницы запись может перемещаться);

поиск места размещения новой записи может занять много времени. Система читает страницы, пока не найдет ту, на которой достаточно места.

Сократить время поиска свободного места позволяют инвентарные страницы (хранят размеры свободных участков для каждой страницы). При удалении/размещении данных содержимое инвентарных страниц обновляется.

Представление физических записей в виде связного списка

Список физических записей

Список свободных элементов