Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД(Карпова Т.С.).doc
Скачиваний:
8
Добавлен:
25.09.2019
Размер:
1.83 Mб
Скачать

Структуры хранения данных в sql Server 7.0

В новой версии сервера баз данных фирма Microsoft реализовала абсолютно но­вый механизм хранения.

SQL Server 7.0 организует следующую иерархию хранения:

База данных — некоторый объем физического пространства, на котором раз­мещаются данные, принадлежащие одной логической базе данных.

Файл. Каждая база данных содержит не менее двух файлов. Один из них от­водится под журнал транзакций. И в отличие от версии 6.5 в новой версии журнал транзакций не может располагаться в одном файле с данными. И еще одно принципиальное отличие — в новой версии каждый файл может при­надлежать только одной базе данных, у нас не может быть разделяемых фай­лов.

Страница. Файлы делятся на страницы размером по 8 Кбайт каждая. Логи­ческий номер страницы складывается из внутреннего номера базы данных, номера файла и номера страницы в файле. В рамках БД файлы нумеруются, начиная с 1, и так же нумеруются страницы в рамках файла.

Блоки (экстенты, extents). Пространство под объекты отводится блоками по 8 следующих друг за другом страниц. Блок является основной единицей от­ведения пространства. Поэтому при создании БД можно указывать размер файла с точностью до 64 Кбайт. Для суперкомпьютеров заложена возмож­ность увеличения размера блоков до 128 страниц.

В отличие от версии 6.5 объекты БД не обязательно занимают целый блок. На начальном этапе заполнения объект может занимать внутри блока несколько страниц. Поэтому существуют два типа блоков:

О Однородные (Uniform). Все страницы однородного блока принадлежат одно­му объекту БД.

Смешанные (Mixed). Разные страницы в блоке принадлежат разным объектам.

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

В SQL 7.0 существуют уже 7 типов страниц:

Q страница данных (Data page);

Q индексные страницы (Index page);

О страницы журнала транзакций (Log page);

Q текстовые страницы (Text/image page);

О карты распределения блоков (Global allocation map page);

Q карты свободного пространства (Page free space page);

Q индексные карты размещения (Index allocation map page).

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

О номер страницы в формате <номер файла, номер страницы>;

Q идентификатор объекта, которому принадлежит страница;

О номер индекса, которому принадлежит страница;

Q уровень внутри индексного дерева, которому принадлежит страница;

Q количество отведенных строк на странице, количество заполненных слотов; Q общий объем свободного пространства на странице;

Q указатель на расположение свободного пространства после последней строки на странице;

Q минимальная длина строки на странице; Q объем зарезервированного пространства.

После заголовка следует информация о статусе страницы в картах распределе­ния блоков и карте свободного пространства.

Новыми в архитектуре дисковой памяти являются страницы размещения, В этих страницах хранятся сведения о размещении данных. SQL Server 7.0 использует три типа страниц размещения: карты распределения блоков, карты свободного пространства, индексные карты размещения. SQL Server 7.0 хранит информа­цию размещения на разных уровнях: на уровне блоков, на уровне страниц, на уровне объектов. Такой разносторонний мониторинг помогает СУБД оптимизи­ровать работу в соответствии с требованиями конкретного запроса.