МОДИФИКАЦИЯ ДЕРЕВЬЕВ РАЗБОРА ДЛЯ ПАРАЛЛЕЛЬНОГО ИСПОЛНЕНИЯ ЗАПРОСА В СУБД

Основным средством для работы с таблицами, содержащими миллионы строк, является использование какой-либо формы разделения данных и применение алгоритмов для параллельной обработки данных с целью обеспечения приемлемой скорости ответа на пользовательский запрос.
Рассмотрим систему, обеспечивающую работу распределенной СУБД и состоящей из N серверов. Предположим, что пользователь может отправить запрос на языке SQL к любому из N серверов и получить один и тот же ответ от всех серверов (на момент начала исполнения запроса). Такую работу системы можно организовать, к примеру, с использованием одного из методов репликации данных (всей базы, или только части таблиц). В этих условиях возможно создание системы обеспечивающей параллельную обработку SQL запросов, принцип работы которой описан в [1].
Из [2] известно, что схема начальной стадии компиляции запроса состоит из четырех этапов: запрос (текстовое представление) - синтаксический анализатор - препроцессор - генератор логического плана запроса - переписчик логического плана запроса. Дополним эту схему двумя этапами - синтаксический анализатор параллельного запроса и препроцессор параллельного запроса, которые будут предшествовать четырем классическим этапам компиляции. Препроцессор параллельного запроса, в отличие от классической схемы (где он предназначен для замены обозначений деревьями разбора и семантического контроля), в предлагаемой новой схеме модифицирует дерево запроса с целью выделения поддеревьев запроса пригодных для параллельного исполнения. В результате его работы формируется набор новых запросов, обработка которых, в дальнейшем, строится по классической схеме. Преобразования деревьев разбора запроса проводятся препроцессором с использованием заранее известного набора правил, с целью получения эквивалентного запроса. В некоторых случаях после проведения преобразований могут потребоваться дополнительные операции над наборами отношений, возвращаемых запросами.
Под эквивалентностью двух запросов здесь и далее мы будем понимать такие запросы, в результате исполнения которых формируются одинаковые во всех атрибутах кортежей отношения с точностью до порядка следования кортежей, если не задана инструкция сортировки, и с учетом порядка следования в противном случае.
Очевидно, что некоррелированные запросы допускают параллельное исполнение, поэтому все получившиеся подзапросы в дереве разбора запроса могут быть вычислены независимо. Следует заметить, что в общем случае дальнейшее вычисление запроса согласно дереву разбора можно проводить только при получении результатов всех нижестоящих подзапросов и выражений.
Исходя из вышеизложенного замечания, можно сформулировать цели, которые должны достигаться посредством эквивалентных преобразований запросов:
1. Правило преобразования должно из исходного формировать новый запрос, содержащий заранее заданное число некоррелированных подзапросов.
2. Полученные запросы должны обладать приблизительно равной стоимостью исполнения, так как дальнейшее вычисление запроса возможно только после вычисления соответствующих подзапросов, и в случае существенного превышения времени исполнения одного подзапроса над остальными, друге узлы системы (не занятые вычислением подзапроса) могут простаивать. Таким образом, преобразования запроса должно контролировать баланс нагрузки между узлами системы путем соответствующего формирования подзапросов.
3. На верхних уровнях дерева разбора запроса преобразование должно оставлять наиболее «дешевые» операции. Под термином «дешевые» здесь подразумеваются операции, для реализации которых не требуется обработки большого количества записей, так как, к примеру, при их вычислении уже будет невозможно воспользоваться информацией содержащейся в индексах.
4. Преобразование, по возможности, не должно увеличивать объем отношений, получающихся при вычислении подзапросов, для того, чтобы исключить передачу больших объемов данных между узлами системы. Большие объемы таких передач могут серьезно замедлить исполнение запроса и уменьшить выигрыш от параллельного исполнения запроса.
СПИСОК ЛИТЕРАТУРЫ
- М. В. Локшин, О.Я. Кравец. Построение систем для параллельной обработки запросов к СУБД. // Телематика´2004: Труды XI Всероссийской научно-методической конференции (7-10 июня 2004). -СПб:ИТМО. 2004. С. 94-95.
- Гарсиа-Молина Г., Ульман Д., Уидом Д. Системы баз данных. Полный курс. -М. «Вильямс», 2003. - 1088 С.
28 07 2026 20:15:19
Статья в формате PDF
116 KB...
27 07 2026 22:20:35
Статья в формате PDF
133 KB...
26 07 2026 8:14:54
Статья в формате PDF 251 KB...
24 07 2026 22:10:57
Проблема создания эффективных препаратов, обладающих выраженным репаративным эффектом и ускоряющих процессы заживления ран после перенесенного механического воздействия, продолжает оставаться очень актуальной.
Исследование сводится к созданию биологического стимулятора для интенсификации и возможности скорейшего заживления поврежденных кожных покровов, а не к созданию фармакологического препарата или лекарственного средства
...
23 07 2026 14:41:51
Статья в формате PDF
141 KB...
22 07 2026 10:16:25
Статья в формате PDF
204 KB...
21 07 2026 4:55:52
Статья в формате PDF
125 KB...
20 07 2026 16:13:25
Для определения возможности использования кристаллографического метода в оценке нарушений cпepматогенеза при действии химических факторов были изучены кристаллограммы лизата cпepматозоидов крыс после введения НДМГ в дозах 5, 25, 40 и 70 мг/кг. Экспериментальные исследования проводились на белых крысах-самцах. Анализ тезиограмм показал превалирование нарушений с увеличением введенной дозы НДМГ, начальные нарушения выявляются на ранних сроках, во всех диапазонах доз НДМГ. Максимальные нарушения прослеживаются при острой интоксикации в дозе 70 мг/кг и сроке 24 часа, о чем свидетельствует увеличение центров кристаллизации, формированием грубых монокристаллов и поликристаллов. Изменения кристаллоографической картины в тезиограммах лизата cпepмы крыс свидетельствуют о метаболических изменениях в cпepматозоидах, развивающихся в ответ на действие НДМГ, что позволяет рекомендовать кристаллографические методы для оценки действия репродуктивных токсикантов и они могут служить индикаторами функционального состояния организма.
...
19 07 2026 21:43:18
17 07 2026 5:21:12
Статья в формате PDF
130 KB...
16 07 2026 8:37:59
Статья в формате PDF
114 KB...
15 07 2026 5:18:47
Статья в формате PDF
114 KB...
14 07 2026 5:55:50
Статья в формате PDF
234 KB...
13 07 2026 8:33:24
Статья в формате PDF
152 KB...
12 07 2026 4:13:23
В работе впервые приведены сведения об особенностях аудиогенной чувствительности и поведения в «открытом поле» двух групп крыс, гомозиготных по локусу TAG 1A DRD2.
...
11 07 2026 21:57:43
Статья в формате PDF
114 KB...
10 07 2026 16:14:33
Статья в формате PDF
124 KB...
09 07 2026 12:29:40
Статья в формате PDF
264 KB...
08 07 2026 10:17:57
Статья в формате PDF
103 KB...
07 07 2026 22:39:13
Статья в формате PDF
113 KB...
06 07 2026 7:51:52
Статья в формате PDF
128 KB...
05 07 2026 8:45:23
Статья в формате PDF
289 KB...
04 07 2026 14:10:47
Статья в формате PDF
128 KB...
03 07 2026 22:58:18
Статья в формате PDF
296 KB...
02 07 2026 2:56:11
Статья в формате PDF
100 KB...
01 07 2026 14:32:25
В обзорной статье рассмотрены основные элементы энергосберегающей технологии возделывания сорго в условиях Астpaxaнской области, к которым относятся: подготовка семян к посеву, севооборот, подбор сортов, нормы высева и способы посева, минеральные подкормки, борьба с сорными растениями и болезнями с помощью внесение гербицидов, орошение по фазам роста и развития, с помощью дождевания наименее энергозатратных агрегатов.
...
30 06 2026 0:50:55
Статья в формате PDF
115 KB...
29 06 2026 23:56:27
Статья в формате PDF
135 KB...
28 06 2026 4:45:43
Статья в формате PDF
106 KB...
27 06 2026 17:18:21
26 06 2026 15:35:57
Статья в формате PDF
297 KB...
25 06 2026 3:35:45
23 06 2026 6:50:44
Статья в формате PDF
300 KB...
22 06 2026 9:14:53
Статья в формате PDF
121 KB...
21 06 2026 4:29:38
Статья в формате PDF
473 KB...
20 06 2026 17:48:28
Статья в формате PDF
106 KB...
19 06 2026 22:14:32
Еще:
Поддержать себя -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 ::