Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Организация хранения данных на диске

Таблица состоит из нескольких основных частей:

  • Описатель таблицы;

  • Файлы постоянной части;

  • Файлы переменной части таблицы (журнала);

  • Файлы управления захватами записей таблицы.

Каждая часть таблицы может включать в себя один или несколько файлов.

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

Постоянная часть состоит из следующих файлов:

  • Область основных данных в сжатой форме;

  • Область ассоциатора (таблица адресов записей в постоянной части и индексы ключевых элементов таблицы);

  • Файлы, содержащие большие двоичные данные и текстовые поля.

Журнал таблицы состоит из следующих файлов:

  • Список признаков выполненных операций (удаление, добавление, модификация);

  • Область добавленных и измененных данных в сжатой форме;

  • Файлы, содержащие большие двоичные данные и текстовые поля.

Файлы управления захватами записей таблицы включают в себя:

  • Общий файл замков;

  • Группа файлов локальных замков (по числу работающих с таблицей пользователей).

Для хранения данных таблицы выбрана стандартная файловая система, предлагаемая соответствующей ОС, а не специальная файловая система, организованная СУБД в выделенной области диска, как это обычно принято. Данное проектное решение обеспечивает:

  • Высокую эффективность реализации файловых операций и повышение скорости доступа к данным за счет размещения частей БД на разных устройствах;

  • Экономию памяти, так как данные занимают минимальный объем, освобождая остальное пространство на диске для других целей и приложений. Предварительная разметка памяти требует максимального объема, который долгое время не будет использоваться полностью;

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

  • Повышенную гибкость выполнения административных действий, так как можно архивировать только активно меняющиеся таблицы, а не всю БД целиком;

Повышенные возможности совершенствования за счет включения различных новшеств в очередные версии ОС, что автоматически повышает эффективность работы СУБД с файлами БД.

Структура ядра субд

Ядро СУБД реализовано как совокупность мониторов основных ресурсов системы и функций манипулирования данными. Мониторы ресурсов ядра выполняются как отдельные потоки операционной системы, на которой запущен SQL сервер. Каждый монитор контролирует доступ к одному из ресурсов ядра (например, доступ к таблицам данных, журналу транзакций и т.п.). Функции манипулирования данными вызываются из потока, созданного для обслуживания запросов пользователя, и обращаются к мониторам ядра. Поскольку потоки обслуживания пользователей выполняются параллельно, то и функции манипулирования данными могут выполняться параллельно. Возможные коллизии при обращении к критическим ресурсам разрешаются соответствующим монитором.

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