4.4.2. Страничная организация данных

 

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

Приведем примерную логическую схему «страничной» организации хранения данных.

При распределении дискового пространства рассматриваются следующая схема струк­туризации пространства в зависимости от типов данных:

Экстент — это непрерывная область дисковой памяти, включающая несколько страниц фиксированной длины. Новый экстент создается после заполнения предыдущего и связывается с ним ссылкой, которая располагается на последней странице экстента, либо в специальной карте размещения. Учет свободных страниц ведется внутри экстента.

Каждый экстент используются для хранения одного из нескольких типов страниц: страницы данных, страницы ин­дексов, страницы blob-объектов[2] (неструктурированных данных, например большие текстовые или двоичные данные). Т.е., данные на одной странице являются однородными:  страница, например, может хра­нить только данные или только индексы.

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

Все страницы данных имеют одинаковую структуру, включающую:

-        Заголовок страницы, содержащий номер страницы, номера предыдущей и следующей страниц, сведения о свободном пространстве на страни­це;

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

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

Для организации быстрого доступа создаются страницы индексов, которые организованы обычно в виде В-деревьев.

 


Рис. 4.17. Файл-ориентированная и страничная организация данных

 

 

К оглавлению

Назад к разделу "4.4.1. Файл-ориентированная организация данных"

Вперед к разделу "4.5. Модели распределения данных по физическим носителям"



[1]  Например, MSACCESS.

[2] Для СУБД важно знать, что этот объект надо хранить целиком и что размеры этих объектов от записи к записи могут меняться, а в общем случае размер неограничен.