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

Основною одиницею сховища даних і обміну інформацією між зовнішньою і оперативною пам'яттю в SQL Server є сторінка. Місце на диску, що надається для розміщення файлу даних (MDF- або NDF-файл) у базі даних, логічно розділяється на сторінки з неперервним перерахуванням від 0 до n. Дискові операції введення-виведення виконуються на рівні сторінки. А саме, SQL Server прочитує або записує цілі сторінки даних. У SQL Server розмір сторінки складає 8 КБ. Це означає, що в одному мегабайті бази даних SQL Server міститься 128 сторінок. Кожна сторінка починається з 96-байтового заголовка, який використовується для зберігання системних даних про сторінку. Ці дані включають номер сторінки, тип сторінки, об'єм вільного місця на сторінці і ідентифікатор одиниці розподілу об'єкту, якому належить сторінка. У файлах даних бази даних SQL Server використовується 8 типів сторінок (дані з типами даних невеликих розмірів, дані з типами даних великих розмірів, записи індексу, відомості про розміщення екстентів, відомості про розміщення сторінок і доступному на них вільному місці і т. д.).

Для ефективного управління пам'яттю сторінки об'єднуються в екстенти, які є основними одиницями організації простору.

Екстент – це колекція, що складається з восьми фізично неперервних сторінок або 64 Кб; вони використовуються для ефективного управління сторінками. Всі сторінки зберігаються в екстентах. Таким чином, в одному мегабайті бази даних SQL Server міститься 16 екстентів.

Щоб зробити розподіл місця ефективним, SQL Server не виділяє цілі екстенти для таблиць з невеликим об'ємом даних. SQL Server має два типи екстентів:

  • Однорідні екстенти належать одному об'єкту (певній таблиці, індексу і т. д.); всі вісім сторінок можуть бути використані лише цим володіючим об'єктом.

  • Змішані екстенти можуть знаходитися в загальному користуванні в не більше восьми об'єктів. Кожна з восьми сторінок в екстенті може знаходитися у володінні різних об'єктів.

Нова таблиця або індекс – це звичайно сторінки, виділені із змішаних екстентів. При збільшенні розміру таблиці або індексу до восьми сторінок ці таблиця або індекс переходять на використання однорідних екстентів для послідовних одиниць розподілу. При створенні індексу для існуючої таблиці, в якій міститься досить рядків, аби сформувати вісім сторінок в індексі, всі одиниці розподілу для індексу знаходяться в однорідних екстентах. Приклад розміщення об'єктів у змішаному і однорідному екстентах наводиться на мал. 10.2.

Мал. 10.2.  Розміщення об'єктів у змішаному і однорідному екстентах

          1. Сторінки файлів даних

Сторінки файлів даних SQL Server нумеруються послідовно; перша сторінка файлу отримує нульовий номер (0). Кожен файл бази даних має унікальний цифровий ідентифікатор. Аби унікальним чином визначити сторінку бази даних, необхідно використовувати як ідентифікатор файлу, так і номер цієї сторінки. На мал. 10.3. показані номери сторінок бази даних, що містить первинний файл даних об'ємом в 4 МБ і вторинний файл даних об'ємом в 1 МБ.

Мал. 10.3.  Приклад нумерації сторінок файлів бази даних

Перша сторінка кожного файлу (сторінка з номером 0) – це сторінка заголовку файлу; вона містить зведення про атрибути даного файлу. Сторінки з номерами 1,2,3 будуть описані нижче.