Лекции / Л-8 - Организация среды хранения
.pdfОрганизация обмена между оперативной и внешней памятью
Первоначально единицей обмена данными между ОП и ВП служила физическая запись, которая читалась (записывалась) за одно обращение к ВП. Физическая запись может соответствовать одному экземпляру логической.
Для уменьшения числа обращений к ВП при работе с БД увеличивают длину физической записи (объединяют в одну физическую запись несколько экземпляров логических записей).
В этом случае физическую запись называют блоком, а число k экземпляров логических записей, составляющих физическую запись, – коэффициентом блокировки.
Схема занесения записей во внешнюю память
Страница
В современных СУБД единицей обмена между ОП и ВП является страница (физическая запись, размер которой фиксирован и не зависит от длины логической записи).
Обмен между ОП и ВП осуществляется аналогично.
Экземпляры логических записей формируются в буфере,
размером со страницу.
Если размер страницы не кратен длине логической записи, то страница может быть заполнена не полностью, и физическая запись на внешнем носителе будет заполнена не полностью.
Подходы к организации данных
вСУБД
Для организации данных в СУБД используются два подхода:
файл-ориентированная организация;
страничная организация.
Первые системы хранения и доступа – файловые структуры и системы управления файлами (часть ОС). СУБД создавала над ними надстройку.
Файл – линейная последовательность записей. В файле можно определить текущую запись, предшествующую ей и следующую за ней.
Файл-ориентированная организация данных
Подход отражает точку зрения «чистого» программирования – стремление к построению процедур, ориентированных на обработку регулярных однородных данных.
БД физически состоит из нескольких файлов (основного, индексного, метаданных, файлов указателей и др.)
ОС активно участвует в навигации, беря на себя функции выборки, обновления, вставки, удаления записей из физических файлов.
Файловые структуры, используемые в базах данных
Для каждого файла в системе сохраняются:
имя и тип файла, размер записи;
количество занятых физических блоков;
базовый начальный адрес и способ доступа.
Файлы прямого и последовательного доступа
Различают:
устройства с произвольной адресацией (магнитные и оптические диски) – время позиционирования головки чтения-записи мало по сравнению со временем считывания записи;
устройства с последовательной адресацией (магнит-
ные ленты) – для получения доступа к элементу требуется перемотать все предшествующие элементы.
Файлы с постоянной длиной записи на устройствах прямо-
го доступа, являются файлами прямого доступа.
На устройствах последовательного доступа могут быть организованы файлы последовательного доступа с
переменной длиной записи.
Страничная организация данных (1)
Файловая структура и система управления файлами являются элементами ОС.
Применительно к БД эффективность операций вводавывода не оптимальна – стандартный язык СУБД богаче, чем набор операций файловой системы.
С ростом объемов хранимых данных механизмы управления файловыми структурами стали неэффективными.
Поэтому СУБД взяли на себя непосредственное управление ВП. Пространство ВП предоставляется для управления полностью СУБД, а ОС не получает доступа к этому пространству.
Страничная организация данных
СУБД использует иные принци-
пы и стратегии управления ВП.
Подход отражает стремление разработчиков сосредоточить в СУБД управление данными на всех уровнях – от логической обработки до управления пространством носителя.
Создание специализированных процедур, эффективно работающих со сложными нерегулярными структурами данных в сочетании с ресурсами вычислительной мощности и оперативной памяти позволяет реализовать
однофайловую физическую структуру СУБД.
Поиск и предоставление данных пользователю
Осуществляется с помощью нескольких программ доступа к данным и включает три этапа:
определяется искомая запись, для извлечения которой запрашивается диспетчер файлов;
диспетчер файлов определяет страницу, на которой находится искомая запись, и для извлечения этой страницы запрашивает диспетчер дисков.
диспетчер дисков определяет физическое положение искомой страницы на диске и посылает запрос на вводвывод данных.