• Основная единица хранения и чтения/записи данных в БД – страница
• Размер страницы = 8 кб (MS SQL Server)
• На 1 Мб 128 страниц
• В начале каждой страницы - 96-байтный заголовок, хранит системную информацию, например тип страницы, размер свободного места на странице, а также идентификатор объекта, владеющего страницей
• Данные размещаются на странице последовательно в виде строк и начинаются сразу же после заголовка
• В конце страницы расположена таблица смещений строк. Содержит по одному элементу для каждой строки; в каждом элементе записано, как далеко первый байт строки расположен от начала страницы. Последовательность элементов – обратная относительно последовательности строк.
• Экстент - единица выделения внешней памяти (увеличения/уменьшения дисковых файлов) для таблиц и индексов
• 1 экстент = восемь последовательных страниц, или 64 кб
• на 1 Мб - 16 экстентов
Два типа экстентов:
• однородные экстенты, принадлежащие одному объекту; лишь объект-владелец может использовать все восемь страниц экстента;
• смешанные экстенты, у которых может быть до восьми объектов-владельцев.
Для новых таблиц или индексов обычно выделяется место в смешанных экстентах.
Когда размер таблицы или индекса увеличивается настолько, что для них требуется восемь страниц, они начинают использовать однородные экстенты.
Для хранения базы данных используется три типа файлов:
Primary — первичный файл.
Каждая база данных обязательно имеет такой файл, причем только один. В этом файле хранится системная информация о базе данных и ее объектах. Здесь же размещаются системные таблицы. Кроме того, в первичном файле могут храниться и пользовательские данные.
По умолчанию этот файл имеет расширение .mdf .
Secondary — вторичные файлы.
Здесь содержатся пользовательские данные, не поместившиеся в первичном файле. Если база данных небольшая, то нет надобности создавать вторичные файлы, всю информацию можно хранить в первичном файле.
Если база данных имеет большие размеры, можно иметь несколько вторичных файлов, их можно хранить на разных дисках.
По умолчанию вторичные файлы имеют расширение .ndf.
Transaction Log — файлы журнала транзакций.
Минимальный размер такого файла —512 Кбайт. База данных должна иметь, по крайней мере, один файл журнала транзакций. В этом файле будет храниться информация о транзакциях, выполняемых в базе данных.
Файл журнала транзакций не может быть помещен на сжатый диск или удаленный сетевой диск (общедоступный сетевой каталог).
По умолчанию файлам журнала транзакций присваивается расширение .ldf.