ТОП 10:

Схема взаимодействия СУБД , ДФ , ДД .



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

При работе процессора с ОЗУ значение времени поиска и доступа на 3-4 порядка меньше, чем при работе с внешней памятью. Поэтому для повышения производительности АИС необходимо минимизировать число дисковых операций ввода/вывода данных.

Эта минимизация может быть достигнута за счёт (определённого) упорядочивания данных в ВЗУ .Подчеркну , что :

<< Любое упорядоченное расположение данных на ВЗУ(диске) или называется структурой хранения данных или моделью внешней памяти >>

Для минимизации числа дисковых операций ввода-вывода были предложены различные методы упорядочивания данных в ВЗУ , т.е. различные структуры хранения .Однако различные варианты структур хранения обеспечивают оптимальную производительность системы в целом лишь для определённых задач АИС . То есть не существует универсальной или идеальной структуры хранения , которая была бы оптимальной для любых задач . Поэтому современные СУБД должны позволять использовать различные структуры хранения данных для различных задач (подсистем) АИС (последовательные файлы , хешированные файлы , индексно – последовательные файлы и т.д. ) .

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

 

 

 


Рис.6.2.1

1. Сначала в СУБД определяется требуемая пользователю запись(её индикатор) , а затем для её извлечения запрашивается диспетчер файлов (ДФ).

2. Диспетчер файлов на основе данного идентификатора записи определяет страницу(идентификатор страницы), на которой находится искомая запись и затем для извлечения этой страницы запрашивается диспетчер дисков (ДД).

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

Далее процесс идет в обратном порядке.

4. Читается нужная станица

5.ДД выдаёт нужную страницу ДФ .

6. ДФ выбирает нужную запись .

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

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

 

6.2.2 Диспетчер дисков (базовая система ввода/вывода).

ДД- обычно является компонентом ОС с помощью которого выполняются все операции ввода/вывод. Для выполнения этих операций необходимо знать значение физических адресов на диске. Т.е. если диспетчер файлов запрашивает некоторую страницу Р, то для её извлечения ДД должен знать, где же эта страница физически расположена на диске . При этом, ДФ этот физический адрес знать не обязан, вместо этого диспетчеру файлов достаточно рассматривать диск как наборы страниц фиксированного размера с уникальным идентификационными номерами каждого набора страниц(NID) . Кроме того, для ДФ каждая страница должна обладать уникальным внутри данного набора идентификационным номером (SID).

Распределение ресурсов ВЗУ (МД) можно представить следующим образом (Рис. 6.2) . Весь диск состоит из наборов заполненных страниц (S,Q,G) и набора пустых страниц . Предположим , что в наборе S файла есть станица .

1. Каждый набор страницы должен иметь уникальный номер (идентификатор) в рамках ВЗУ (диска) (NID) .

2. Каждая страница должна иметь уникальный номер (идентификатор) в рамках (внутри) данного набора страниц (SID) .

Кроме того : один набор может содержать один или несколько файлов , и каждый файл должен иметь свой идентификатор .

Рис. 6.2.2.1

 

Соответствие физических адресов на магнитном диске(ВЗУ) и идентификационных номеров страниц(SID) обеспечивается с помощью диспетчера дисков(ДД).

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

1. Извлечение страницы(копию страницы) Р из набора страниц S;т.е. пересылка в ОЗУ для обработки .

2. Замена страницы Р из набора страниц S;т.е. изменение содержимого страницы Р.

3. Добавление новой страницы в набор страниц S (т.е. извлекается одна страница из набора пустых страниц и передается в набор S , например с номером (Р+1));

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

 

Диспетчер файлов.

При работе с диском как совокупностью наборов хранимых файлов ДФ использует все имеющиеся средства дисков согласно способам определенным СУБД. При этом каждый набор страниц обычно содержит один или несколько файлов. Каждый хранимый файл также имеет имя идентификационный номер (FID) уникальный в данном наборе страниц. ХПЗ также должны обладать уникальным идентификационным номером в пределах хранимого файла (RID).

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

1. Извлечение копии ХПЗ R из хранимого файла F , точнее из страницы хранимого файла.

2. Замена ХПЗ R в хранимом файле F , точнее на странице хранимого файла .

3. Добавление новой ХПЗ R в файл F , точнее на страницу хранимого файла.

4. Удаление ХПЗ R из хранимого файла F .

5. Создание нового хранимого файла F .

6. Удаление хранимого файла F .

5 и 6 – это операции над файлами .

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

Управление страницами.

Рассмотрим эту функцию на примере БД , состоящей из трёх таблиц : поставщики S, детали(P) и поставки(SP). Предположим, что в рассматриваемом примере требуется упорядочить записи согласно ключевому полю, при этом для простоты изложения допустим, что каждый хранимый файл занимает один набор страниц и для каждой записи требуется отдельная страница.

В процессе управления страницами обычно выполняется следующие типовые действия:

1. На начальном этапе БД совсем не содержит данных, т.е. в ней имеется только набор пустых страниц, в который входят все страницы диска за исключением страницы 0(Служебная страница) . Все остальные страницы пронумерованы с номера 1

2. Для размещения записей, например “о поставщиках” диспетчер файлов создает набор страниц и размещает на них данные о поставщиках. Для этого ДД перемещает страницы с первой по пятую из набора пустых страниц и поставит их как набор заполненных страниц с данными о поставщиках – S .

3. Аналогичными действиями должны быть выполнены для размещения данных о деталях и о поставках , т.е. выполнены наборы P и SP .

В результате будут заполнены страницы с данными о поставщиках (набор S), о деталях (с шестой по одиннадцатую)- набор Р и о поставках (12 по 23)(набор S/P)(табл. 1).

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

Таблица 6.2.4.1

  Служеб   S1   S2   S3   S4   S5
  P1   P2   P3   P4   P5   P6
  S1/P1   S1/P2   S1/P3   S1/P4   S1/P5   S1/P6
  S2/P1   S3/P2   S3/P3   S4/P2   S4/P4   S4/P5
             

 

Рассмотрим выполнение некоторых действий над данными и результирующее состояние страниц после выполнения этих действий:

Действие 1.Допустим, необходимо добавить новую запись с данными о новом поставщике S6. Для этого ДФ добавит новую ХПЗ, а ДД осуществит поиск первой пустой страницы (24) на диске, затем добавляет её к набору S страниц поставщиков-S;

Действие 2.Допустим, необходимо удалить ХПЗ с данными о поставщике S2. ДФ удаляет её, а ДД возвращает страницу поставщика (2 страница) в набор пустых страниц;

Действие 3.Допустим, необходимо вставить новую запись с данными о деталях например Р7. ДФ вставит её, а ДД найдет первую пустую страницу в наборе пустых страниц (2) и добавит её в набор страниц Р с данными о деталях;

Действие 4.Допустим, нужно удалить S4. ДФ удалит её, а ДД возвратит страницу, в которой хранились данные (S4) в набор пустых страниц.

Размещение данных после проведения действий схематично представлено на рисунке (табл. 6.2.4.2):

S2,S4-удалены.S6,P7-добавлены.

Таблица 6.2.4.2

  Служеб   S1   P7 * S3   *   S5
  P1   P2   P3   P4   P5   P6
  S1/P1   S1/P2   S1/P3   S1/P4   S1/P5   S1/P6
  S2/P1   S3/P2   S3/P3   S4/P2   S4/P4   S4/P5
* S6          
           

 

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

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

Размещение страниц на диске соответствующее таблице 6.2.4.2, но с использованием указателей имеет следующий вид (табл. 6.2.4.3)

S2,S4-удалены.

P7,S6-добавлены .

Таблица 6.2.4.

 
 

      S1     Р7     S3       S5
  P1   P2   P3   P4   P5   P6
  S1/P1   S1/P2   S1/P3   S1/P4   S1/P5   S1/P6
  S2/P1   S3/P2   S4/P3   S4/P4   S4/P4   S4/P5
  S6 S6          
                       

 

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

 







Последнее изменение этой страницы: 2017-02-05; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.51.69 (0.009 с.)