Параллельная СУБД Clusterix. Разработка и исследование
Е.В. Абрамов,
КГТУ им. А.Н. Туполева,
eugene_abr@mail.ru
Целесообразность разработок систем баз данных распределенной архитек-туры была осознана специалистами еще в начале 80-х годов прошлого века [1]. Работа в реальном времени с базами данных сравнительно больших объемов требует использования мощных программно-аппаратных средств. Именно так реализованы серверы баз данных компаний Microsoft, Informix, Oracle и др. В нашей стране разработан проект параллельной СУБД "ОМЕГА" для отечествен-ных многопроцессорных комплексов МВС–100/1000 [2]. Однако не всем органи-зациям доступны системы высокой производительности на платформах mainframe.
В 1994 г. возникла идея создавать параллельные вычислительные системы (кластеры) из общедоступных компьютеров на базе Intel и недорогих Ethernet-сетей, устанавливая на эти компьютеры Linux и одну из бесплатно распростра-няемых коммуникационных библиотек (PVM, а затем MPI) [3]. Оказалось, что на многих классах задач и при достаточном числе узлов такие системы дают производительность, сравнимую с суперкомпьютерной. Но их эффективность как информационных систем исследована пока недостаточно. Публикации по результатам тестирования программного продукта MySQL Cluster [4] фирмы MySQL AB на данный момент отсутствуют.
За основу проводимых нами исследований в области параллельных СУБД принят специальный план обработки запросов по схеме "SELECT-PROJECT-JOIN" [5] с использованием основных принципов параллелизма: собственно па-раллелизм и конвейерность. Принципиальная особенность предлагаемого в дан-ной работе подхода состоит в том, что граф обработки любого запроса формиру-ется в динамике оптимизирующим претранслятором, который расщепляет SQL-запрос пользователя на MySQL-фрагменты отдельных исполнительных уровней.
Основное внимание в докладе уделяется вопросам построения прототипа параллельной СУБД, названной Clusterix, при некоторых ограничениях. Пред-ставлен разработанный алгоритм оптимизации запросов. Приводятся состав и функции программных модулей кластера. Исследуются вопросы масштабируе-мости и выбора архитектуры кластера.
СУБД Clusterix является реконфигурируемой на множестве архитектур – так называемые "линейка", "симметрия", "ассиметрия". Взаимодействие между модулями осуществляется путем передачи сообщений сетевыми протоколами TCP/IP и реализовано через "сокеты". Программные модули написаны на языке С++ с использованием технологий параллельного программирования (threads, mutex, shared memory) и компилированы с помощью gcc OC Linux. На каждом процессоре функционирует СУБД MySQL, которая выполняет низкоуровневые операции: работа с файлами, индексами и т.д.
В состав СУБД включена Подсистема визуализации и обработки статисти-ки. Эта подсистема показывает динамику функционирования кластера на мно-жестве контрольных точек, формирует необходимые гистограммы и т.д. Вместе со встроенной Подсистемой сбора статистики она помогает вносить необходи-мые коррективы в алгоритмы работы системы и исследовать ее потенциальные возможности.
Приводятся результаты тестирования кластера на ограниченном наборе за-просов теста ТРС D. Тестирование проводилось при числе исполнительных компьютеров N = 2, 4, 6 и 8 в двух режимах: «штатном» и режиме эмуляции ра-боты кластера с 4<=N<=18. Объем базы данных составлял 788МB. Анализ полу-ченных результатов говорит о следующем.
- При N<=8 наиболее эффективна (по критерию производительность/ объ-ем оборудования) "линейка" (архитектура «процессор на страницу»).
- Дальнейшее усложнение кластера необходимо связывать с изменением его архитектуры. При этом в диапазоне 8
Литература:
-
Database Machines /Edited by H.O. Leilich and M. Missikoff. – Intern. Workshop, Munich, Sept., 1983.
- Соколинский Л.Б. Организация параллельного исполнения запросов в многопроцес-сорных машинах баз данных с иерархической архитектурой //Программирование. 2001. № 6. С. 13-29.
- Что такое Beowulf? – Интернет-адрес: http://parallel.ru/computers/reviews/beowulf.html#p1
- MySQL Cluster. – Интернет-адрес: http://www.mysql.com/products/cluster
- Райхлин В.А. Моделирование машин баз данных распределенной архитектуры //Про-граммирование. 1996. №2. С.7-16.
- Райхлин В.А., Абрамов Е.В. К теории моделей синтеза кластеров баз данных //Вестник КГТУ им. А.Н. Туполева. 2004. №1. С.44-49.
|