Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЕгор Мурин
1 Физическая архитектура базы данных SQL Server
2 2 Типы файлов Файлы данных (data files) –Primary (главный файл) – системные и пользовательские данные –Secondary (дополнительные файлы) – только пользовательские данные Файлы журнала транзакций (log files) Типы файлов
3 3 Структура файла данных Размер страницы – 8 Кбайт Page 0Page 1Page 2Page n... Файл базы данных Структура файла базы данных
4 4 Типы страниц Data – страницы данных (кроме LOB типов) Index – страницы индексов (В + дерево) Text/Image – для хранения данных LOB типов Служебные страницы Типы страниц
5 5 Служебные страницы Global allocation map (GAM) – использование экстентов Page free space (PFS) – наличие свободного пространства на странице Index allocation map (IAM) – информация об экстентах, используемых таблицами или индексами Служебные страницы
6 6 Страница данных Максимальная длина колонки – 8000 байт, строки данных – 8060 байт заголовок Строка данных 1 Строка данных 2 Смещение строк 123 Строка данных 3 Свободное пространство Страница данных
7 7 Заголовок страницы Размер – 96 байтов Номер страницы Тип страницы Объем свободного пространства на странице Идентификационный номер объекта – владельца страницы (владелец страницы – таблица, индекс, …) Заголовок страницы
8 8 Экстенты (1) Экстент – группа из 8 страниц Типы экстентов: Mixed – страницы экстента принадлежат разным владельцам table 2index1index2table 2table 3index3table 2table 3 Экстенты (1)
9 9 Экстенты (2) Uniform – все страницы экстента принадлежат одному владельцу table 1 Экстенты (2)
10 10 Использование экстентов (1) Страница GAM (global allocation map) – битовое поле; каждый бит соответствует одному экстенту (64000 экстентов) Два типа битовых полей: GAM и SGAM Использование экстентов (1)
11 11 Использование экстентов (2) Global allocation map (GAM): –бит = 1 – экстент пуст; –бит = 0 – экстент содержит данные Shared global allocation map (SGAM): –бит = 1 – экстент типа mixed, имеющий, по крайней мере, одну свободную страницу –бит = 0 – либо экстент типа uniform, либо экстент типа mixed, не имеющий свободных страниц Использование экстентов (2)
12 12 Запись данных Сохраняется 8 страниц одного объекта: – свободный экстент (бит = 1 в поле GAM; после записи соответствующий бит в полях GAM и SGAM устанавливается в 0) Сохраняется менее 8 страниц: – экстент типа mixed (существующий или новый; бит в поле GAM устанавливается в 0, в поле SGAM – устанавливается 1 или 0) Запись данных
13 13 Степень заполнения страниц (1) Страница PFS (Page free space) – последовательность байтов; каждый байт соответствует одной странице (8000 страниц типа Data, Text/Image, Index) В каждом байте может быть установлен только один бит Степень заполнения страниц (1)
14 14 Степень заполнения страниц (2) Страница полностью пуста (заполнение 0%) Страница заполнена от 1% до 50% Страница заполнена от 51% до 80% Страница заполнена от 81% до 95% Страница заполнена от 96% до 100% Степень заполнения страниц (2)
15 15 Информация о владельце страницы (1) Страница IAM (Index allocation map) – описывает экстенты, принадлежащие одному владельцу Битовое поле; бит = 1 – в экстенте содержатся страницы, принадлежащие соответствующему владельцу 1 страница IAM – экстентов Информация о владельце страницы (1)
16 16 Информация о владельце страницы (2) IAM1 IAM2 Таблица 1 Таблица 2 1 экстент = 8 страниц Информация о владельце страницы (2)
17 17 Информация о владельце страницы (3) Системная таблица sysindexes, колонка FirstIAM Table 1 Первый IAM Таблица sysindexes IAM Первый файл Второй файл Информация о владельце страницы (3)
18 18 Пример файла базы данных Заго- ловок файла стр. PFS стр. GAM стр. SGAM стр. DATA стр. DATA стр Пример файла базы данных
19 19 Архитектура таблиц и индексов Два способа организации хранения таблиц: кластерные таблицы – используют кластерный индекс куча – таблица, не имеющая кластерного индекса Два типа индексов: кластерный и некластерный Архитектура таблиц и индексов
20 20 Кластерный индекс (1) Строки таблицы сохраняются в порядке, определяемом кластерным индексом. Кластерный индекс – В + дерево Страницы индексов одного уровня (и листья) – двухсвязный список Листья – страницы данных Кластерный индекс (1)
21 21 Кластерный индекс (2) prevnext Строки индексов prevnext Строки индексов prevnext Строки индексов prevnext Строки индексов prevnext Строки данных prevnext Строки данных prevnext Строки данных prevnext Строки данных Корень дерева Промежуточные узлы Листья Кластерный индекс (2)
22 22 Куча Таблица, не имеющая кластерного индекса Страницы не связаны списком Строки данных Заголовок Строки данных Заголовок Строки данных Заголовок Строки данных Заголовок Куча
23 23 Некластерный индекс (1) Порядок хранения строк таблицы – произвольный Индекс – В + дерево Листья дерева – страницы индекса Некластерный индекс (1)
24 24 Некластерный индекс (2) prevnext Строки индексов prevnext Строки индексов prevnext Строки индексов prevnext Строки индексов prevnext Строки данных prevnext Строки данных prevnext Строки данных prevnext Строки данных Корень дерева Листья Кластерный индекс или куча Некластерный индекс (2)
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.