Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
модели_данных.ppt
Скачиваний:
20
Добавлен:
16.01.2017
Размер:
1.23 Mб
Скачать

ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ДАННЫХ. МЕХАНИЗМЫ РАЗМЕЩЕНИЯ ДАННЫХ И ДОСТУПА К ДАННЫМ

Если индексные файлы используются для ускорения доступа по первичному ключу, то для ускорения доступа по вторичному ключу используются структуры, называемые инвертированными списками. Вторичными ключами является атрибут или набор атрибутов, которому соответствует несколько искомых записей. Например, для таблицы «Книги» вторичным ключом может служить место издания, год издания. Множество книг могут быть изданы в одном месте, и множество книг могут быть изданы в одном году.

Инвертированный список в общем случае – это трехуровневая индексная структура.

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

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

На третьем уровне находится основной файл с записями.

41

ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ДАННЫХ. МЕХАНИЗМЫ РАЗМЕЩЕНИЯ ДАННЫХ И ДОСТУПА К ДАННЫМ

Представим механизм доступа к записям по вторичному ключу:

Шаг_1. В области первого уровня ищется заданное значение вторичного ключа;

Шаг_2.По ссылке считываются блоки второго уровня, содержащие номера записей с заданным значением вторичного ключа;

Шаг_3. В рабочую область пользователя прямым доступом загружается содержимое всех записей с заданным значением вторичного ключа.

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

Для моделирования связей на файловых структурах используется принцип организации цепочек записей внутри файла и ссылки на номера записей для нескольких взаимосвязанных файлов. Цепочка

это совокупность записей, расположенных в разных местах и связанных последовательностью указателей

42

ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ДАННЫХ. МЕХАНИЗМЫ РАЗМЕЩЕНИЯ ДАННЫХ И ДОСТУПА К ДАННЫМ

Структура файла с цепочкой может быть условно

представлена в виде:

Ключ Запись Ссылка-указатель на следующую запись

Для моделирования отношения один-ко-многим связываются два файла, например F1 и F2, причем предполагается, что

одна запись в файле F1 может быть связана с несколькими

записями в файле F2. Структура файла F1 может быть

условно представлена:

<Ключ> <Запись> <Ссылка-указатель на первую запись в файле F2, с которой начинается цепочка записей файла, связанных с данной записью файла F1>

Структура записи файла F2 имеет вид:

<Указатель на следующую запись в цепочке> <Содержимое записи>

43

ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ДАННЫХ.

Пространство памяти и размещение хранимых данных

Модели физической организации данных при безфайловой организации

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

систем обработку данных на уровне страниц ведёт операционная система (ОС), а обработку записей внутри страницы обеспечивает только СУБД.

Реляционные СУБД хранят во внешней памяти БД:

строки таблиц - основная часть БД;

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

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

служебная информация.

44

Классификация объектов при страничной организации физической

45

модели данных

ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ДАННЫХ.

Пространство памяти и размещение хранимых данных

Определим некоторые понятия, используемые в указанной классификации.

Чанк (chank) — представляет собой часть диска, физическое пространство на диске, которое ассоциировано одному процессу (online процессу обработки данных).

Чанк характеризуется маршрутным именем, смещением (от физического начала устройства до начальной точки на устройстве, которая используется как чанк), размером, заданным в Кбайтах или Мбайтах.

Экстент — это непрерывная область дисковой памяти.

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

Первый экстент задается при создании нового объекта типа таблица, его размер задается при создании. EXTENTSIZE — размер первого экстента, NEXT SIZE — размер каждого следующего экстента.

Минимальный размер экстента в каждой системе свой, но в большинстве случаев он равен 4 страницам, максимальный — 2 Гбайтам.

Внутри экстента идет учет свободных станиц.

Совокупность экстентов моделирует логическую единицу — таблицу- отношение (tblspace).

46

ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ДАННЫХ.

Пространство памяти и размещение хранимых данных

Экстенты состоят из четырех типов страниц: страницы

данных, страницы индексов, битовые страницы и

страницы blob-объектов. Blob — это сокращение Binary Larg Object, и соответствует оно неструктурированным

данным.

Основной единицей осуществления операций обмена (ввода-

вывода) является страница данных. Все данные хранятся постранично. При табличном хранении данные на одной

странице являются однородными, то есть станица может

хранить только данные или только индексы.

Хранение данных во внешней памяти в известных СУБД (Oracle, IBM DB2, Microsoft SQL Server, Sybase и Informix и

др.) организовано очень похожим образом.

47

ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ДАННЫХ.

Пространство памяти и размещение хранимых данных

Логический уровень представления информации включает пространства (либо табличные пространства).

Блок данных (block) или страница (page) является единицей обмена с внешней памятью. Размер страницы фиксирован для базы данных (Oracle) или устанавливается при создании БД.

Размер блока оказывает большое влияние на производительность базы данных — при больших размерах скорость операций чтения/записи растет, однако возрастают накладные расходы на хранение (база увеличивается) и снижается эффективность индексных просмотров. Меньший размер блока позволяет более экономно расходовать память, но вместе с тем относительно дорог. Длинные блоки (16, 32 или 64 Кбайт) лучше использовать для больших объектов данных: полнотекстовые фрагменты, мультимедиа-объекты, длинные строки и т.п. Короткие блоки (2 или 4 Кбайт) лучше подходят для значений числовых типов, недлинных строк, значений даты и времени

48

ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ДАННЫХ.

Пространство памяти и размещение хранимых данных

Пространством внешней памяти, отведенным администратором, СУБД управляет с помощью экстентов (extent) или областей, т.е. непрерывных последовательностей блоков (страниц). Экстенты представляют собой единицу выделения памяти для таблиц и индексов.

На управление экстентами (выделение пространства, освобождение, слияние) тратятся определенные ресурсы, поэтому для достижения эффективности нужно правильно определять их параметры. СУБД от Oracle, IBM, Informix позволяют определять параметры этих структур, а в Sybase экстенты имеет постоянный размер, равный 8 страницам.

ВInformix существует еще одна единица физического хранения, промежуточная между файлом (или разделом диска) и экстентом, — это «чанк» (от английского chunk, что дословно переводится как «емкость»). Чанк позволяет более гибко управлять очень большими массивами внешней памяти. В одном разделе диска или файле администратор может создать несколько чанков.

49

Структура страницы данных для MS SQL Server 6.5

50