Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы_данных__сайт_ФПМК.doc
Скачиваний:
25
Добавлен:
14.08.2019
Размер:
1.48 Mб
Скачать
    1. Бесфайловая организация внешней памяти

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

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

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

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

      1. Особенности реляционных субд

Реляционные СУБД обладают рядом особенностей, влияющих на организацию внешней памяти. К наиболее важным особенностям можно отнести следующие.

Наличие двух уровней системы:

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

языкового уровня (например уровня, реализующего язык SQL).

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

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

Регулярность структур данных. Поскольку основным объектом реляционной модели данных является плоская (в 1НФ) таблица, главный набор объектов внешней памяти может иметь очень простую регулярную структуру. При этом необходимо обеспечить возможность эффективного выполнения операторов языкового уровня как над одним отношением (простые операции селекции и проекции), так и над несколькими отношениями (наиболее распространена и трудоемка операция соединения нескольких отношений). Для этого во внешней памяти должны поддерживаться дополнительные индексы.

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

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

строки отношений - основная часть базы данных, большей частью непосредственно видимая пользователям;

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

журнальная информация, поддерживаемая для удовлетворения потребности в надежном хранении данных;

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

  • внутренние каталоги (справочники), описывающие физические свойства объектов базы данных, например число атрибутов отношения, их размер и, возможно, типы данных;

  • описание индексов, определенных для данного отношения;

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