Физическая модель данных MS SQL Server .

SQL Server одновременно может поддерживать до 32767 баз данных, которые могут иметь связи друг с другом или внешними базами данных. После установки пакета создаются четыре системы базы данных: master – системные хранимые процедуры и системные таблицы, msdb – репликация и восстановление баз данных, tempdb – временные объекты для пользователей и промежуточные результаты выполнения запросов, model – модельная база данных (вновь создаваемые базы данных используют данную базу как шаблон, включая набор объектов и прав), и две пользовательских: pubs – использованную в данном учебном пособии, Northwind – аналог базы «Борей» для MS Access , предназначенные для обучения и экспериментов.

Для хранения данных используется:

•  обычный дисковый раздел ОС. В этом случае база данных хранится как минимум в двух файлах, физический доступ к которым для пользователей в NTFS запрещён (в том числе блокируется копирование этих файлов). В файле с расширением . mdf хранится системная информация о базе данных и её объекты. С ростом базы длина файла автоматически увеличивается на фрагменты заданного размера. В файле с расширением . ldf хранится журнал транзакций. По желанию разработчика база данных может состоять более чем из двух файлов, обычно объединённых в группы. Вторичные файлы данных имеют расширение . ndf и не используются для хранения системной информации.

•  Неформатированный ( RAW ) раздел жёсткого диска. База на таком разделе сразу занимает объём всего раздела, при этом возможно организовать только одну базу в разделе. Доступ к этому разделу будет иметь только SQL Server . При этом никакой возможности доступа к этим данным средствами ОС нет, реплицирование будет возможно только средствами SQL Server .

Основная единица хранения данных на уровне файла базы данных – страница ( page ). При дисковых операциях чтения-записи страница обрабатывается целиком. В SQL Server размер страницы равен 8192 байт. Первые 96 байт отводятся под заголовок, в котором хранится системная информация о типе страницы, объёме свободного места на странице и идентификационном номере объекта базы данных, которому принадлежит эта страница. Базовые типы страниц: data , index , text / image . После заголовка идёт область данных, а в конце страницы – таблица смещений строк, в которой указывается начало каждой записи относительно начала страницы. При удалении строки пустое пространство помечается и потом его может занять новая строка, но перемещения строк не происходит.

Для более эффективного управления страницами SQL Server использует объединения страниц – экстенты ( extent – непрерывная область). Каждый экстент содержит 8 страниц и занимает 64 Кбайт. Для управления экстентами используются страницы специального типа GAM – Global Allocation Map , каждая из которых может хранить информацию о заполнении 64 000 экстентов. Специальные страницы типа PFS ( Page Free Space ) – используются для сбора информации о свободном месте не страницах. Это намного убыстряет процесс записи в базу, так как серверу для поиска оптимального варианта записи достаточно перебрать только страницы PFS . Для сбора информации о том, какому объекту принадлежит страница, используются страницы специального типа IAM – Index Allocation Map . Для объекта-владельца создаётся собственная страница IAM , в которой указываются принадлежащие ему экстенты. Если одной IAM не хватает, создаётся цепочка страниц этого типа.

назад главная вперед