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