Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы и банки данных / Базы и банки данных (5 сем).doc
Скачиваний:
76
Добавлен:
01.05.2014
Размер:
705.54 Кб
Скачать

Структуры хранения данных и методы доступа к ним

Структурой храненияназывается любое упорядочение данных на диске. Структура хранения имеет большое значение в связи с тем, что скорость работы с базами данных, как правило, определяется самым медленным звеном в операциях работы с даннымидисковыми операциями ввода вывода. Типичные значения времени поиска и доступа к диску, на 45 порядков выше (хуже), чем аналогичные характеристики для оперативной памяти. То же самое можно сказать и о скорости передачи данных.

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

Доступ к базе данных

Поиск и предоставление данных пользователю осуществляется с помощью нескольких программ доступа к данным. При этом можно выделить три основных этапа (рис.1).

Рис.1. Схема взаимодействия СУБД, диспетчера файлов и диспетчера дисков

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

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

  3. Диспетчер дисков определяет физическое положение искомой страницы на диске и посылает соответствующий запрос на ввод-вывод данных. Если в результате предыдущих запросов искомая страница уже находится в оперативной памяти, то этот пункт не выполняется.

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

Диспетчер дисков

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

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

  • Извлечь страницу Pиз набора страницS.

  • Заменить страницу Pиз набора страницS.

  • Добавить новую страницу в набор страниц S(т.е. извлечь одну страницу из набора пустых страниц и возвратить новую страницу с номером Р).

  • Удалить страницу Р из набора страниц S(т.е. возвратить одну страницу в номером Р в набор пустых страниц).