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

Предлагается подход к выполнению запроса, заключающийся в изменении исходного запроса и его выполнении с использованием библиотеки параллельных вычислений. Для изменения исходного запроса предлагается применять информационные графы. Для преобразования информационного графа предлагается использовать методы оптимизации по ширине и высоте, изначально предназначенные для классических алгоритмов, но адаптированные под запросы. Также приводятся результаты тестирования запросов различной сложности по структуре. Показывается преимущество автоматического распараллеливания перед распараллеливанием вручную. Рассматриваются варианты распараллеливания с учетом параллелизма по задачам (при дефрагментации запроса на подзапросы) и параллелизма по данным (при дефрагментации таблиц реляционной базы данных). Тестирование проводилось на базе данных из 5 таблиц и сложном запросе из 29 подзапросов. Результаты показывают, что подход, основанный на информационных графах, может быть применен при оптимизации запросов к реляционным базам данных.

Авторы: В. С. Шевский, Ю. А. Шичкина

Направление: Информатика и компьютерные технологии

Ключевые слова: База данных, система управления базой данных, запрос, многопоточное программирование


Открыть полный текст статьи