Программа курса

Параллельные системы баз данных

Л.Б. Соколинский, М.Л. Цымблер

Лекции: 6 час.

Лабораторный практикум: 12 час.

Лекции

No. п/п

Тема

Содержание

Время (час.)

Организация выполнения запросов в параллельных системах баз данных.

Организация конвейерного параллелизма: итераторы (синхронный конвейер) и склады (асинхронный конвейер).

Организация раздельного (фрагментного) параллелизма: оператор обмена exchange; параллельные агенты; преобразование последовательного плана выполнения запроса в параллельный.

2

Классификация форм параллельной обработки транзакций.

Межтранзакционный и внутритранзакционный параллелизм.

Межзапросный и внутризапросный параллелизм.

Межоперационный и внутриоперационный параллелизм.

Виды межоперационного параллелизма.

1

Требования к параллельной системе баз данных.

Масштабируемость: ускорение и расширяемость.

Производительность: балансировка загрузки, межпроцессорные коммуникации, когерентность кэшей, организация блокировок.

Доступность данных: коэффициент доступности базы данных, аппаратная отказоустойчивость, восстановление целостности базы данных после сбоя, оперативное восстановление базы данных, прозрачность для пользователя процессов восстановления системы.

1

Классификация и сравнительный анализ архитектур параллельных систем баз данных.

Классификация Стоунбрейкера: архитектура с разделяемой памятью и дисками (Shared-Everything), архитектура с разделяемыми дисками (Shared-Disks), архитектура без совместного использования ресурсов (Shared-Nothing).

Иерархические и гибридные архитектуры: иерархическая кластерная архитектура с разделением памяти и дисков (Clustered-Everything), иерархическая кластерная архитектура с разделением дисков (Clustered-Disk), гибридная архитектура СDN.

Сравнительный анализ различных архитектур параллельных систем баз данных.

1

Распределение данных и балансировка загрузки.

Виды фрагментации: вертикальная, горизонтальная, смешанная.

Стратегии горизонтальной фрагментации: кольцевое, хешированное, диапазонное, комбинированное.

Перекосы. Виды перекосов: перекосы выполнения и перекосы данных.

Балансировка загрузки: метод теплоты и метод зеркальной репликации.

1

Итого

6

 


 





Лабораторный практикум

No. п/п

Тема

Содержание

Время (час.)

Проектирование модульной структуры прототипа параллельной СУБД

Проектирование интерфейсов подсистем:

·         генератор распределенной базы данных и словаря;

·         система управления файлами;

·         менеджер сообщений;

·         компилятор запросов;

·         генератор последовательных планов;

·         параллелизатор запросов;

·         менеджер параллельных агентов;

·         исполнитель запросов.

Разработка тестов для автономного и комплексного тестирования.

1

Генератор распределенной базы данных и словаря

Разработка и тестирование функций создания модельной распределенной базы данных и ее словаря данных

1

Система управления файлами

Разработка и тестирование функций работы с отношениями базы данных (открыть, закрыть отношение, выдать текущий кортеж)

1

Менеджер сообщений

Разработка и тестирование функций обмена сообщениями (отправить, получить сообщение)

2

Компилятор запросов и генератор последовательных планов

Разработка и тестирование функций построения последовательного плана запроса. Разработка и тестирование функций, реализующих операции реляционной алгебры (естественное соединение, выборка, сканирование)

2

Параллелизатор запросов и менеджер параллельных агентов

Разработка и тестирование функций построения параллельного плана запроса. Реализация и тестирование оператора обмена EXCHANGE. Реализация и тестирование функций создания параллельных агентов запроса.

2

Исполнитель запросов

Разработка и тестирование функций запуска и выполнения параллельных агентов запроса.

2

Сборка прототипа параллельной СУБД

Сборка, отладка и комплексное тестирование прототипа параллельной СУБД

1

Итого

12

 

 

ЛИТЕРАТУРА

 

1.      [ДевиттГ 95] Девитт Д., Грэй Д. Параллельные системы баз данных: будущее высоко эффективных систем баз данных // СУБД. -1995.№2. -С. 8-31.

2.      [КорнеевГВР 01] Корнеев В.В., Гареев А.Ф., Васютин С.В., Райх В.В. Базы данных. Интеллектуальная обработка информации. 2-е издание. .: Нолидж, 2001. -496с.

3.      [КостенецкийЛС 07] Костенецкий П.С., Лепихов А.В., Соколинский Л.Б. Технологии параллельных систем баз данных для иерархических многопроцессорных сред // Автоматика и телемеханика. -2007. -Том 68, №5. -С. 847-859.

4.      [ОззуВ 96] Оззу М.Т., Валдуриз П. Распределенные и параллельные системы баз данных // СУБД. -1996.№4. -С. 4-26.

5.      [Соколинский 04] Соколинский Л.Б. Обзор архитектур параллельных систем баз данных // Программирование. -2004.№6. -С. 49-63.

6.      [Соколинский 01а] Соколинский Л.Б. Параллельные машины баз данных // Природа. Естественно-научный журнал Российской академии наук. -2001.№8. -С. 10-17.

7.      [Соколинский 01] Соколинский Л.Б. Организация параллельного выполнения запросов в многопроцессорной машине баз данных с иерархической архитектурой // Программирование. -2001.№6. -С. 13-29.

8.      Соколинский Л.Б. Методы организации параллельных систем баз данных на вычислительных системах с массовым параллелизмом: Дис. ... докт. физ.-мат. наук: 05.13.18 / Челябинский государственный университет. - Челябинск, 2003. - 247 л. [http://www.csu.ru/~sok/dissertation/dissert.pdf], 16.06.2003.

9.      [Stonebraker 86] Stonebraker M. The case for shared nothing // Database Engineering Bulletin. -1986. -Vol. 9, No. 1. -P. 4-9.

10.  [Graefe 93] Graefe G. Query evaluation techniques for large databases // ACM Computing Surveys. -1993. -Vol. 25, No. 2. -P. 73-169.