Введение к работе
Актуальность темы Проблема повышения производительности систем управления базами данных (СУБД) в настоящее время продолжает оставаться актуальной из-за постоянного повышения требований к объемам обрабатываемых данных. Возникновение сверхбольших баз данных связано с расширением видов и сфер применения СУБД. Примерами новых приложений СУБД являются электронная коммерция, электронные библиотеки, геоинформационные системы, мультимедийные архивы, научные базы данных.
Фактически единственным известным на сегодняшний день эффективным решением проблемы хранения и обработки сверхбольших баз данных является использование параллельных систем реляционных баз данных с репликацией хранящейся информации, обеспечивающих обработку запросов на многопроцессорных и многомашинных вычислительных системах. В настоящее время уже существуют коммерческие варианты СУБД, обеспечивающие работу на таких аппаратных платформах. Однако стоимость такого специализированного программного обеспечения для данных систем сопоставима, а в некоторых случаях и выше стоимости аппаратной составляющей. В случае реализации возможности использования стандартного программного обеспечения для широко масштабируемых массово параллельных архитектур существенно сокращается общая стоимость решения. В качестве таких систем можно рассматривать набор существующих серверов СУБД, входящих в состав высокоскоростной локально-вычислительной сети предприятия, изначально не использующих параллельной обработки данных. Использование их ресурсов для параллельной обработки отношений позволит отказаться от приобретения дорогостоящих программно-аппаратных конфигураций.
Все известные на сегодняшний день подходы к параллельной обработке запроса основываются на разделении нагрузки между узлами системы в средней и конечной стадии формирования плана исполнения запроса. Учет особенностей параллельной обработки запроса уже в начальной стадии компиляции позволяет достичь ряда преимуществ. В частности, упрощается процедура разработки программного обеспечения для параллельной обработки запроса, обеспечивается работа в составе гетерогенных СУБД, дальнейшая обработка запроса допускает использование уже известных методов параллельного вычисления. Таким образом, актуальность темы диссертации обусловливается отсутствием методов и программного обеспечения для осуществления параллельной обработки запросов в начальной стадии компиляции.
Диссертационная работа выполнена в рамках научного направления
Воронежского государственного технического университета - «Вычисли
тельные системы и программно-аппаратные электротехнические комплек
сы». ___
І ^^ национальная]
| БИБЛИОТЕКА I
' ^
Цель работы Целью работы является разработка методов распарагше-ливания SQL-запросов в гетерогенных архитектурах для повышения производительности распределенных СУБД.
Задачи исследования В соответствии с поставленной целью сформулированы следующие основные задачи исследования:
1. Выполнить анализ современных архитектур СУБД и методов, применяемых в них для параллельного исполнения SQL-запросов, обобщить анализ современного состояния исследований в области применения методов параллельной обработки запросов. 2 Разработать эффективные методы распараллеливания запросов в гетерогенных средах с доказательством их корректности.
-
Разработать алгоритмы и программные средства для распараллеливания SQL-запросов, обеспечить их совместимость с существующими СУБД.
-
На основе полученных результатов реализовать систему для распараллеливания запросов и провести вычислительный эксперимент, используя разработанные методы и алгоритмы.
Методы исспедования При выполнении работы использованы методы булевой алгебры, реляционной алгебры, имитационного моделирования, математической статистики, теории графов, элементы математического анализа, элементы системного анализа.
Научная новизна работы В результате проведенного исследования были получены результаты, характеризующиеся научной новизной:
метод распараллеливания SQL-запросов, ориентированный на использование источников данных, не поддерживающих параллелизм в гетерогенных средах, отличительной особенностью которого является динамическое разделение отношений запроса на диапазоны обработки;
алгоритм нахождения точек разделения отношений на отношения с равными кардинальными числами, отличающийся использованием статистических данных по атрибутам таблиц и позволяющий ускорить вычисление точек разделения на основе информации предыдущих итераций;
априорные оценки эффективности распараллеливания запросов, отличающиеся учетом особенностей исполнения запросов в гетерогенных системах с репликацией данных и позволяющие быстро оценить целесообразность применения созданного метода распараллеливания SQL-запросов на этапе конфигурирования системы;
структура программного обеспечения препроцессора СУБД, отличающегося возможностью распараллеливания SQL-запросов и обеспечивающего ускорение их обработки средствами СУБД, не ориентированных на параллельное исполнение.
Практическая іначіпюсть работы Практическая значимость работы заключается в создании специального программного обеспечения, обеспечивающего распараллеливание SQL-запросов до начала их исполнения в гете-
рогенных СУБД, а также алгоритмов рационального выбора атрибута разделения отношений.
Реализаиия и внедрение результатов работы Теоретические и практические результаты работы реализованы в специальном программном комплексе исполнения аналитических запросов в рамках системы автоматизации предприятия. С его использованием разработана программа "Учет потребления электроэнергии абонентами юридическими лицами", которая внедрена в практическую деятельность ОГУП "Западные межрайонные электрические сети" (г. Елец) и зарегистрирована в Государственном фонде алгоритмов и программ.
Апробаиия работы Основные результаты работы докладывались и обсуждались на Международной научно-практической конференции «Единое информационное пространство» (Днепропетровск, 2003); ИХ - X Международных открытых научных конференциях «Современные проблемы информатизации в системах моделирования, программирования и телекоммуникациях» (Воронеж, 2003-2005); XI Всероссийской научно-методической конференции «Телематика'2004» (Санкт-Петербург, 2004); II Всероссийской научно-технической конференции «Вузовская наука - региону» (Вологда, 2004); VIII Международной научно-практической конференции «Актуальные проблемы информатики и информационных технологий» (Тамбов, 2004).
Публикации Основные результаты диссертации опубликованы в 11 научных работах, в том числе 5 без соавторов. В работах, опубликованных в соавторстве и приведенных в конце автореферата, лично соискателю принадлежит: в [7, 8] - основные принципы параллельного исполнения запросов в рассматриваемых системах, в [9] алгоритм быстрого нахождения точек разбиения отношений, в [6, 11] - особенности проблемы параллельного исполнения запросов и способов организации взаимодействия при параллельном исполнении запросов в больших информационных системах, в работе в [10] -особенности реализации подсистемы высокоуровневого распараллеливания.
Структура и объем работы Работа состоит из введения, четырех глав, заключения, списка литературы, включающего в себя 101 наименование, и трех приложений. Основная часть работы изложена на 137 страницах, содержит 32 таблицы и 24 рисунка.