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

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

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

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

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

Каждый свободный участок хранит ссылку на следующий свободный участок (или признак конца списка).

Каждый освобождаемый участок включается в список свободных участков на странице.

Списки свободных участков в виде отдельных структур

Списки свободных участков реализуются

в виде отдельных структур (также хра-

нятся на инвентарных страницах).

Каждая инвентарная страница относится к области (группе страниц) памяти и содержит

информацию о свободных участках в этой области.

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

Ведение списков свободных участков (замечания)

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

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

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

Ведение списков свободных участков (замечания)

При изменении записи, имеющей фиксированный формат, она просто перезаписывается на прежнее место.

Если запись имеет формат переменной длины, она может не поместиться на прежнее место. Тогда запись разбивается на фрагменты, размещаемые на разных страницах.

Фрагменты связаны ссылками.

Основной недостаток метода – фрагментация пространства памяти (появление разрозненных незаполненных участков памяти). Уменьшить фрагментацию позволяют фоновые процедуры, периодически проводящие слияние смежных свободных участков в один.

Схема хранения

Структура и представление хранимых данных, их размещение в пространстве памяти и используемые методы доступа называются схемой хранения.

Виды адресации хранимых записей (1)

В общем случае адреса записей БД нигде не хранятся.

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

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

всю таблицу.

Виды адресации хранимых записей (2)

В реляционных СУБД для ускорения поиска данных применяются индексы – специальные структуры, устанавливающие соответствие значений ключевых полей записи и «адреса» этой записи (КБД).

Таким образом, вид адресации хранимых записей оказывает влияние на производительность, а также на переносимость БД с одного носителя на другой.

Рассмотрим три вида адресации: прямую, косвенную и относительную.

Прямая адресация хранимых записей

Предусматривает указание непосредственного местоположения записи в пространстве памяти.

Недостаток – большой размер адреса, обусловленный большим размером пространства памяти.

Прямая адресация не позволяет перемещать записи в памяти без изменения КБД. Эти изменения требуют коррекции указателей на записи в среде хранения, например в индексах (весьма трудоемкая процедура).

Отсутствие возможности перемещать запись ведет к

фрагментации памяти.

Косвенная адресация хранимых записей (1)

Указанные недостатки позволяет преодолеть косвенная адресация.

Общий принцип косвенной адресации – в качестве КБД выступает не сам «адрес записи», а адрес места хранения «адреса записи».

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

Число статей (слотов) в нем одинаково для всех страниц.

Косвенная адресация хранимых записей (2)