МОДИФИКАЦИЯ ДЕРЕВЬЕВ РАЗБОРА ДЛЯ ПАРАЛЛЕЛЬНОГО ИСПОЛНЕНИЯ ЗАПРОСА В СУБД
Основным средством для работы с таблицами, содержащими миллионы строк, является использование какой-либо формы разделения данных и применение алгоритмов для параллельной обработки данных с целью обеспечения приемлемой скорости ответа на пользовательский запрос.
Рассмотрим систему, обеспечивающую работу распределенной СУБД и состоящей из N серверов. Предположим, что пользователь может отправить запрос на языке SQL к любому из N серверов и получить один и тот же ответ от всех серверов (на момент начала исполнения запроса). Такую работу системы можно организовать, к примеру, с использованием одного из методов репликации данных (всей базы, или только части таблиц). В этих условиях возможно создание системы обеспечивающей параллельную обработку SQL запросов, принцип работы которой описан в [1].
Из [2] известно, что схема начальной стадии компиляции запроса состоит из четырех этапов: запрос (текстовое представление) - синтаксический анализатор - препроцессор - генератор логического плана запроса - переписчик логического плана запроса. Дополним эту схему двумя этапами - синтаксический анализатор параллельного запроса и препроцессор параллельного запроса, которые будут предшествовать четырем классическим этапам компиляции. Препроцессор параллельного запроса, в отличие от классической схемы (где он предназначен для замены обозначений деревьями разбора и семантического контроля), в предлагаемой новой схеме модифицирует дерево запроса с целью выделения поддеревьев запроса пригодных для параллельного исполнения. В результате его работы формируется набор новых запросов, обработка которых, в дальнейшем, строится по классической схеме. Преобразования деревьев разбора запроса проводятся препроцессором с использованием заранее известного набора правил, с целью получения эквивалентного запроса. В некоторых случаях после проведения преобразований могут потребоваться дополнительные операции над наборами отношений, возвращаемых запросами.
Под эквивалентностью двух запросов здесь и далее мы будем понимать такие запросы, в результате исполнения которых формируются одинаковые во всех атрибутах кортежей отношения с точностью до порядка следования кортежей, если не задана инструкция сортировки, и с учетом порядка следования в противном случае.
Очевидно, что некоррелированные запросы допускают параллельное исполнение, поэтому все получившиеся подзапросы в дереве разбора запроса могут быть вычислены независимо. Следует заметить, что в общем случае дальнейшее вычисление запроса согласно дереву разбора можно проводить только при получении результатов всех нижестоящих подзапросов и выражений.
Исходя из вышеизложенного замечания, можно сформулировать цели, которые должны достигаться посредством эквивалентных преобразований запросов:
1. Правило преобразования должно из исходного формировать новый запрос, содержащий заранее заданное число некоррелированных подзапросов.
2. Полученные запросы должны обладать приблизительно равной стоимостью исполнения, так как дальнейшее вычисление запроса возможно только после вычисления соответствующих подзапросов, и в случае существенного превышения времени исполнения одного подзапроса над остальными, друге узлы системы (не занятые вычислением подзапроса) могут простаивать. Таким образом, преобразования запроса должно контролировать баланс нагрузки между узлами системы путем соответствующего формирования подзапросов.
3. На верхних уровнях дерева разбора запроса преобразование должно оставлять наиболее «дешевые» операции. Под термином «дешевые» здесь подразумеваются операции, для реализации которых не требуется обработки большого количества записей, так как, к примеру, при их вычислении уже будет невозможно воспользоваться информацией содержащейся в индексах.
4. Преобразование, по возможности, не должно увеличивать объем отношений, получающихся при вычислении подзапросов, для того, чтобы исключить передачу больших объемов данных между узлами системы. Большие объемы таких передач могут серьезно замедлить исполнение запроса и уменьшить выигрыш от параллельного исполнения запроса.
СПИСОК ЛИТЕРАТУРЫ
- М. В. Локшин, О.Я. Кравец. Построение систем для параллельной обработки запросов к СУБД. // Телематика´2004: Труды XI Всероссийской научно-методической конференции (7-10 июня 2004). -СПб:ИТМО. 2004. С. 94-95.
- Гарсиа-Молина Г., Ульман Д., Уидом Д. Системы баз данных. Полный курс. -М. «Вильямс», 2003. - 1088 С.
Статья в формате PDF
113 KB...
12 06 2025 21:57:15
Статья в формате PDF
253 KB...
11 06 2025 10:57:20
Статья в формате PDF
143 KB...
10 06 2025 1:14:29
Статья в формате PDF
139 KB...
09 06 2025 21:14:29
Статья в формате PDF
224 KB...
08 06 2025 11:59:36
Статья в формате PDF 283 KB...
07 06 2025 13:18:41
В возрастные периоды от 6 до 9 мес. инвазированные смешанной инвазией фасциолеза и дикроцелиоза бычки симментальской породы пастбищного содержания отставали в приросте массы тела на 9,7 %, в возрасте от 12 до 15 мес. на 12,9 % и в возрасте от 15 до 18 мес. на 15,5 %, что отрицательно влияет на убойные и технологические качества животных.
...
06 06 2025 7:12:18
В этой статье рассматриваются вопросы применения инновационных технологии формирования навыков здорового образа жизни учащихся сельских школ во внеурочное время.
...
04 06 2025 12:53:11
Статья в формате PDF
288 KB...
03 06 2025 12:23:25
Статья в формате PDF
117 KB...
02 06 2025 8:51:59
Статья в формате PDF
245 KB...
01 06 2025 9:25:56
Все более актуальной в настоящее время становится проблема прогнозирования динамики развития региональных лесных комплексов. В качестве одного из этапов исследований по этой теме автором в содружестве с Гринпис России был выполнен описанный в статье проект. В рамках проекта разработана экономико-математическая модель. Последующая реализация модели на компьютере с использованием реальных данных показала ее эффективность для решения задач прогнозирования лесной отрасли. В качестве региона для апробации модели был выбран Санкт-Петербург и область, где влияние человека на окружающую среду в последнее время существенно возросло. Проведенная на основе статистических тестов верификация модели показала ее соответствие реальности. С целью апробации модели были сформированы два сценария с различными значениями показателей внешнего воздействия на региональную систему лесного комплекса. В результате, после имитации были получены основные параметры регионального лесного комплекса, соответствующие двум сценариям.
...
31 05 2025 15:59:36
30 05 2025 14:42:24
Статья в формате PDF
121 KB...
28 05 2025 16:37:28
Статья в формате PDF
101 KB...
27 05 2025 6:47:31
Статья в формате PDF
119 KB...
26 05 2025 17:43:57
Статья в формате PDF
109 KB...
25 05 2025 21:12:41
Статья в формате PDF
120 KB...
24 05 2025 22:41:27
Статья в формате PDF
688 KB...
23 05 2025 6:15:10
Статья в формате PDF
271 KB...
22 05 2025 3:37:44
Статья в формате PDF
112 KB...
21 05 2025 8:14:30
Статья в формате PDF
170 KB...
20 05 2025 23:13:42
Статья в формате PDF
121 KB...
18 05 2025 6:51:16
17 05 2025 21:41:57
В статье раскрываются внешние и внутренние условия психического развития обучаемых. Автором проанализирован механизм становления и развития перцептивных элементов в процессе обучения двуязычных учащихся на первом и втором языках. В работе приведены педагогические условия развития мыслительных способностей учащихся-монолингвов, а также выявлены условия эффективного развития мыслительных способностей двуязычных учащихся.
...
16 05 2025 3:18:54
Статья в формате PDF 204 KB...
15 05 2025 13:25:46
Статья в формате PDF
110 KB...
14 05 2025 13:53:50
Статья в формате PDF
111 KB...
13 05 2025 3:18:21
Статья в формате PDF
319 KB...
12 05 2025 16:28:15
Статья в формате PDF
112 KB...
10 05 2025 18:50:50
Статья в формате PDF 120 KB...
09 05 2025 19:27:28
08 05 2025 15:16:43
Статья в формате PDF
111 KB...
07 05 2025 13:17:21
Статья в формате PDF
105 KB...
06 05 2025 9:42:38
Статья в формате PDF
109 KB...
05 05 2025 14:43:19
Еще:
Поддержать себя -1 :: Поддержать себя -2 :: Поддержать себя -3 :: Поддержать себя -4 :: Поддержать себя -5 :: Поддержать себя -6 :: Поддержать себя -7 :: Поддержать себя -8 :: Поддержать себя -9 :: Поддержать себя -10 :: Поддержать себя -11 :: Поддержать себя -12 :: Поддержать себя -13 :: Поддержать себя -14 :: Поддержать себя -15 :: Поддержать себя -16 :: Поддержать себя -17 :: Поддержать себя -18 :: Поддержать себя -19 :: Поддержать себя -20 :: Поддержать себя -21 :: Поддержать себя -22 :: Поддержать себя -23 :: Поддержать себя -24 :: Поддержать себя -25 :: Поддержать себя -26 :: Поддержать себя -27 :: Поддержать себя -28 :: Поддержать себя -29 :: Поддержать себя -30 :: Поддержать себя -31 :: Поддержать себя -32 :: Поддержать себя -33 :: Поддержать себя -34 :: Поддержать себя -35 :: Поддержать себя -36 :: Поддержать себя -37 :: Поддержать себя -38 ::