Введение
Глава 1. Архитектура параллельных систем баз данных 16
1.1. Терминология параллельных систем баз данных 16
1.1.1. Формы параллелизма 16
1.1.2. Понятие параллельной системы баз данных 21
1.2. Требования к параллельной системе баз данных 27
1.2.1. Масштабируемость 28
1.2.2. Производительность 30
1.2.3. Доступность данных 35
1.3. Классификация параллельных архитектур 36
1.3.1. Классификация Флинна 37
1.3.2. Структурно-функциональная классификация 40
1.3.3. Классификация Стоунбрейкера 43
1.4. Сравнительный анализ архитектур параллельных систем баз данных .48
1.5. Архитектура системы Омега 51
1.5.1. Три уровня абстракции системной архитектуры.. 52
1.5.2. Аппаратная архитектура системы Омега 54
1.6. Заключительные замечания к главе 1 57
Глава 2. Методы построения операционного ядра системы Омега 59
2.1. Общесистемное программное обеспечение МВС-100/1000 59
2.2. Структура операционного ядра системы Омега 62
2.3. Организация управления легковесными процессами 64
2.3.1. Особенности распараллеливания работ на МВС-100 64
2.3.2. Потоковая модель для управления легковесными процессами 66
2.3.3. Диспетчеризация нитей 69
2.3.4. Реализация менеджера нитей 70
2.4. Система хранения данных 71
2.4.1. Архитектура системы хранения СУБД Омега 71
2.4.2. Электронная дисковая подсистема 75
2.4.3. Система управления файлами 80
2.4.4. Менеджер наборов 81
2.4.5. Менеджер файлов 85
2.5. Организация межпроцессорных коммуникаций 87
2.5.1. Система передачи сообщений 87
2.5.2. Маршрутизатор 90
2.5.3. Кондуктор 91
2.6. Заключительные замечания к главе 2 92
Глава 3. Методы управления буферным пулом 94
3.1. Введение в проблематику буферизации данных 94
3.2. Требования к подсистеме управления буферным пулом СУБД 96
3.2.1. Поиск страницы в буферном пуле 97
3.2.2. Замещение страниц в буферном пуле 97
3.2.3. Избирательное вытеснение страниц 99
3.2.4. Распределение слотов буферного пула между параллельными транзакциями 101
3.3. Методы проектирования подсистемы управления буферным пулом параллельной СУБД Омега 103
3.3.1. Архитектура менеджера буферного пула 104
3.3.2. Метод статических и динамических рейтингов 108
3.4. Заключительные замечания к главе 3 112
Глава 4. Стратегия замещения страниц 114
4.1. Проблема выбора стратегии замещения страниц 114
4.2. Требования к стратегии замещения 116
4.3. Обзор известных стратегий замещения 121
4.3.1. Стратегия LRU 121
4.3.2. Специальные стратегии замещения 122
4.3.3. Общие стратегии замещения 126
4.4. Концепция алгоритма LFU-K 133
4.5. Аналитическая оценка параметра m алгоритма LFU-K 136
4.5.1. Вероятностная модель 136
4.5.2. Мера для определения параметра т 138
4.5.3. Разложение нормальной функции в ряд Тейлора 141
4.5.4. Приближенная мера для параметра т 143
4.6. Реализация алгоритма LFU-K 145
4.7. Результаты экспериментов по сравнительной оценке эффективности алгоритма LFU-2m 149
4.7.1. Стационарное распределение вероятностей обращений 149
4.7.2. Периодическое распределение вероятностей обращений 151
4.7.3. Доступ в режиме OLTP с использованием индексного файла 153
4.7.4. Эксперименты на реальной трассе 154
4.8. Выбор значений параметров алгоритма LFU-2m 154
4.9. Заключительные замечания к главе 4 157
Глава 5. Организация параллельного выполнения запросов в системе с CD2 архитектурой 160
5.1. Стратегия размещения данных в системе Омега 160
5.2. Алгоритм балансировки загрузки внутри Омега-кластера 162
5.3. Организация параллельного выполнения запросов 163
5.3.1. Модели параллелизации запросов 163
5.3.2. Операторный фрейм 166
5.3.3. Оператор обмена exchange 170
5.4. Исполнитель запросов системы Омега 173
5.4.1. Обработка запросов в системе Омега 173
5.4.2. Физическая алгебра 182
5.4.3. Интерфейс исполнителя физических запросов 183
5.4.4. Реализация исполнителя физических запросов 186
5.5. Результаты экспериментов 190
5.6. Заключительные замечания к главе 5 195
Глава 6. Технологические аспекты разработки системы Омега 197
6.1. Технология коллективной разработки СУБД Омега 197
6.2. Организация коллективной разработки 199
6.3. Программная поддержка технологии коллективной разработки 201
6.3.1. Средства поддержки коллективной разработки 201
6.3.2. Интегрированная среда разработчика 204
6.3.3. Расширение среды программирования МВС-100 209
6.4. Заключительные замечания к главе 6 211
Заключение 213
Литература 219


