Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы 2013.docx
Скачиваний:
0
Добавлен:
13.01.2020
Размер:
4.38 Mб
Скачать

4.2 Физическая организация базы данных. Файлы и файловые группы

Основной единицей хранилища данных в SQL Server является страница. Место на диске, предоставляемое для размещения файла данных (mdf- или ndf-файл) в базе данных, логически разделяется на страницы с непрерывным перечислением от 0 до n. Дисковые операции ввода-вывода выполняются на уровне страницы. А именно, SQL Server считывает или записывает целые страницы данных.

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

В SQL Server размер страницы составляет 8 КБ. Это значит, что в одном мегабайте базы данных SQL Server содержится 128 страниц. Каждая страница начинается с 96-байтового заголовка, который используется для хранения системных данных о странице. Эти данные включают номер страницы, тип страницы, объем свободного места на странице и идентификатор единицы размещения объекта, которому принадлежит страница.

Экстенты являются основными единицами, в которых организовывается пространство. Экстент состоит из восьми непрерывных страниц или 64 КБ. Это значит, что в одном мегабайте базы данных SQL Server содержится 16 экстентов.

Чтобы сделать распределение места эффективным, SQL Server не размещает целые экстенты в таблицы с небольшим объемом данных. SQL Server имеет два типа экстентов.

  • Равномерные экстенты принадлежат одному объекту; все восемь страниц в кластере могут быть использованы только этим владеющим объектом.

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

Базы данных SQL Server 2005 содержат файлы трех типов.

  • Первичные файлы данных. Такой файл является отправной точкой базы данных. Он указывает на остальные файлы базы данных. В каждой базе данных имеется один первичный файл данных. Для имени первичного файла данных рекомендуется использовать расширение MDF.

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

  • Файлы журналов. Файлы журналов транзакций содержат все сведения журналов, используемые для восстановления базы данных. В каждой базе данных должен быть по меньшей мере один файл журнала, но их может быть и больше. Для имен файлов журналов рекомендуется использовать расширение LDF.

SQL Server не требует обязательного использования расширений файлов MDF, NDF и LDF. Однако эти расширения помогают пользователю идентифицировать различные виды файлов и правильно их использовать.

Файлы данных и файлы журналов SQL Server могут использоваться как в файловой системе FAT, так и в системе NTFS. Рекомендуется использовать файловую систему NTFS по причинам ее большей безопасности. Файловые группы, доступные как для чтения, так и для записи, а также файлы журналов нельзя использовать со сжатой файловой системой NTFS. В сжатую файловую систему NTFS можно помещать лишь доступные только для чтения базы данных и доступные только для чтения файловые группы

Файлы SQL Server могут автоматически увеличиваться в размерах, превосходя первоначально заданные показатели. При определении файла пользователь может указывать требуемый шаг роста. Каждый раз при заполнении файла его размер увеличивается на указанный шаг роста. Если в файловой группе имеется несколько файлов, их автоматический рост начинается, лишь по заполнении всех файлов.

Из объектов баз данных и файлов можно формировать файловые группы, используемые для решения задач распределения и административного управления. Существует два типа файловых групп - первичные файловые группы и пользовательские.

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

Файлы журналов не могут входить в состав файловых групп. Управление пространством журнала отделено от управления пространством данных.

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