МОДИФИКАЦИЯ ДЕРЕВЬЕВ РАЗБОРА ДЛЯ ПАРАЛЛЕЛЬНОГО ИСПОЛНЕНИЯ ЗАПРОСА В СУБД > Полезные советы
Тысяча полезных мелочей    

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

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

Локшин М.В. Статья в формате PDF 115 KB

Основным средством для работы с таблицами, содержащими миллионы строк, является использование какой-либо формы разделения данных и применение алгоритмов для параллельной обработки данных с целью обеспечения приемлемой скорости ответа на пользовательский запрос.

Рассмотрим систему, обеспечивающую работу распределенной СУБД и состоящей из N серверов. Предположим, что пользователь может отправить запрос на языке SQL к любому из N серверов и получить один и тот же ответ от всех серверов (на момент начала исполнения запроса). Такую работу системы можно организовать, к примеру, с использованием одного из методов репликации данных (всей базы, или только части таблиц). В этих условиях возможно создание системы обеспечивающей параллельную обработку SQL запросов, принцип работы которой описан в [1].

Из [2] известно, что схема начальной стадии компиляции запроса состоит из четырех этапов: запрос (текстовое представление) - синтаксический анализатор - препроцессор - генератор логического плана запроса - переписчик логического плана запроса. Дополним эту схему двумя этапами - синтаксический анализатор параллельного запроса и препроцессор параллельного запроса, которые будут предшествовать четырем классическим этапам компиляции. Препроцессор параллельного запроса, в отличие от классической схемы (где он предназначен для замены обозначений деревьями разбора и семантического контроля), в предлагаемой новой схеме модифицирует дерево запроса с целью выделения поддеревьев запроса пригодных для параллельного исполнения. В результате его работы формируется набор новых запросов, обработка которых, в дальнейшем, строится по классической схеме. Преобразования деревьев разбора запроса проводятся препроцессором с использованием заранее известного набора правил, с целью получения эквивалентного запроса. В некоторых случаях после проведения преобразований могут потребоваться дополнительные операции над наборами отношений, возвращаемых запросами.

Под эквивалентностью двух запросов здесь и далее мы будем понимать такие запросы, в результате исполнения которых формируются одинаковые во всех атрибутах кортежей отношения с точностью до порядка следования кортежей, если не задана инструкция сортировки, и с учетом порядка следования в противном случае.

Очевидно, что некоррелированные запросы допускают параллельное исполнение, поэтому все получившиеся подзапросы в дереве разбора запроса могут быть вычислены независимо. Следует заметить, что в общем случае дальнейшее вычисление запроса согласно дереву разбора можно проводить только при получении результатов всех нижестоящих подзапросов и выражений.

Исходя из вышеизложенного замечания, можно сформулировать цели, которые должны достигаться посредством эквивалентных преобразований запросов:

1. Правило преобразования должно из исходного формировать новый запрос, содержащий заранее заданное число некоррелированных подзапросов.

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

3. На верхних уровнях дерева разбора запроса преобразование должно оставлять наиболее «дешевые» операции. Под термином «дешевые» здесь подразумеваются операции, для реализации которых не требуется обработки большого количества записей, так как, к примеру, при их вычислении уже будет невозможно воспользоваться информацией содержащейся в индексах.

4. Преобразование, по возможности, не должно увеличивать объем отношений, получающихся при вычислении подзапросов, для того, чтобы исключить передачу больших объемов данных между узлами системы. Большие объемы таких передач могут серьезно замедлить исполнение запроса и уменьшить выигрыш от параллельного исполнения запроса.

СПИСОК ЛИТЕРАТУРЫ

  1. М. В. Локшин, О.Я. Кравец. Построение систем для параллельной обработки запросов к СУБД. // Телематика´2004: Труды XI Всероссийской научно-методической конференции (7-10 июня 2004). -СПб:ИТМО. 2004. С. 94-95.
  2.  Гарсиа-Молина Г., Ульман Д., Уидом Д. Системы баз данных. Полный курс. -М. «Вильямс», 2003. - 1088 С.


СТРУКТУРА СЛОЖНОЛЕГИРОВАННЫХ ЛАТУНЕЙ

СТРУКТУРА СЛОЖНОЛЕГИРОВАННЫХ ЛАТУНЕЙ Статья в формате PDF 94 KB...

28 04 2024 1:54:52

ЗЕМЛЯ НЕ БЫЛА НАГРЕТОЙ, ТЕМ БОЛЕЕ РАСПЛАВЛЕННОЙ

ЗЕМЛЯ НЕ БЫЛА НАГРЕТОЙ, ТЕМ БОЛЕЕ РАСПЛАВЛЕННОЙ Статья в формате PDF 111 KB...

26 04 2024 8:45:35

СОВЕРШЕНСТВОВАНИЕ СИСТЕМЫ РАЗВИТИЯ ПЕРСОНАЛА

СОВЕРШЕНСТВОВАНИЕ СИСТЕМЫ РАЗВИТИЯ ПЕРСОНАЛА Статья в формате PDF 334 KB...

24 04 2024 0:43:52

РИСКИ В ЛЕСНОЙ ОТРАСЛИ

РИСКИ В ЛЕСНОЙ ОТРАСЛИ Статья в формате PDF 269 KB...

15 04 2024 8:50:44

СОСТОЯНИЕ НЕКОТОРЫХ ПОКАЗАТЕЛЕЙ ОКИСЛИТЕЛЬНОВОССТАНОВИТЕЛЬНЫХ ПРОЦЕССОВ У БОЛЬНЫХ ОСТРЫМ ХОЛЕЦИСТИТОМ И ИХ КОРРЕКЦИЯ

СОСТОЯНИЕ НЕКОТОРЫХ ПОКАЗАТЕЛЕЙ ОКИСЛИТЕЛЬНОВОССТАНОВИТЕЛЬНЫХ ПРОЦЕССОВ У БОЛЬНЫХ ОСТРЫМ ХОЛЕЦИСТИТОМ И ИХ КОРРЕКЦИЯ Под наблюдением автора было 262 больных острым холециститом. Обсуждаются вопросы адаптации больных к условиям операционного и послеоперационного периодов, которая зависит от окислительно-восстановительных процессов, обусловленных функционированием ферментативных систем, гипоксии тканей, снижения приспособительных реакций, особенно выраженных у лиц старше 50 лет. В контрольной группе (178) больных уже при поступлении в клинику намечалась тенденция к снижению РО2 в подкожно-жировой основе, а в момент операции оно было выраженным и устойчивым, которое держалось в течение 6 дней. Так же на всем протяжении послеоперационного периода у больных наблюдалось уменьшение кислородной емкости крови, концентрации SH-групп в плазме крови, только к моменту выписки эти показатели приближались к норме. Концентрация молочной и пировиноградной кислот крови тоже было повышенным. В исследуемой группе (84) больных, которые получали в комплексном лечении во время операции и послеоперационном периоде ганглиоблокаторы и гепарин, напряжение кислорода во время операции повышалось на 68%, повышение сохранялось 2-3 дня, а к концу 5 дня рО2 было в пределах нормы. Намечалась тенденция увеличения кислородной емкости крови и SH-групп в плазме. Не смотря на то, что при поступлении лактат и пируват были выше контроля, уже в первый день после операции эти показатели были ниже контрольных. Автор делает вывод о том, что применение в комплексном лечении ганглиоблокаторов и гепарина, позволяло улучшать кислородный баланс крови и ткани и, улучшать окислительновосстановительные процессы, адаптацию организма больного к стрессовым условиям, что способствовало снижению процента послеоперационных осложнений и летальности. ...

04 04 2024 15:52:43

ЭКОЛОГИЧЕСКОЕ РЕГУЛИРОВАНИЕ ЧИСЛЕННОСТИ ПОПУЛЯЦИЙ МЕЛКИХ МЛЕКОПИТАЮЩИХ

ЭКОЛОГИЧЕСКОЕ РЕГУЛИРОВАНИЕ ЧИСЛЕННОСТИ ПОПУЛЯЦИЙ МЕЛКИХ МЛЕКОПИТАЮЩИХ На основании многолетних наблюдений за комплексом внешних условий и состоянием популяций мелких млекопитающих количественно оценено распределение влияний внутрипопуляционных и внешних факторов на динамику их численности и структуры. Показано, что основное влияние на демографические процессы полевок на протяжении всего сезона размножения оказывают плотностно-зависимые механизмы регуляции (эндогенные факторы). Экзогенные (хищники, кормовые и погодные) факторы выступают в качестве воздействий, ограничивающих рост населения популяции, и наиболее эффективны в переходные осеннее-зимний и зимне-весенний периоды. ...

01 04 2024 7:47:19

35 ОНТОМОРФОГЕНЕЗ ВЯЗЕЛЯ РАЗНОЦВЕТНОГО

35 ОНТОМОРФОГЕНЕЗ ВЯЗЕЛЯ РАЗНОЦВЕТНОГО Статья в формате PDF 90 KB...

20 03 2024 2:43:14

Еще:
Поддержать себя -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 ::