Рассматривают
несколько путей распараллеливания запросов.
Горизонтальный
параллелизм. Этот параллелизм возникает тогда, когда хранимая в БД информация
распределяется по нескольким физическим устройствам хранения — нескольким дискам.
При этом информация из одного отношения разбивается на части по горизонтали
(см. рис. 10.13). Этот вид параллелизма иногда называют распараллеливанием или
сегментацией данных. И параллельность здесь достигается путем выполнения одинаковых
операций, например фильтрации, над разными физическими хранимыми данными. Эти
операции могут выполняться параллельно разными процессами, они независимы. Результат:
выполнения целого запроса складывается из результатов выполнения отдельных
операций.
Время выполнения
такого запроса при соответствующем сегментировании данных существенно меньше,
чем время выполнения этого же запроса традиционными способами одним процессом.
Вертикальный
параллелизм. Этот параллелизм достигается конвейерным выполнением операций,
составляющих запрос пользователя. Этот подход требует серьезного усложнения
в модели выполнения реляционных операций ядром СУБД. Он предполагает, что ядро
СУБД может произвести декомпозицию запроса, базируясь на его функциональных
компонентах, и при этом ряд подзапросов может выполняться параллельно, с минимальной
связью между отдельными шагами выполнения запроса.
Действительно,
если мы рассмотрим, например, последовательность операций реляционной алгебры:
R5=R1 [ А,С]
R6=R2 [A.B.D]
R7 = R5[A > 128]
R8 =R5[A]R6
то операции
первую и третью можно объединить и выполнить параллельно с операцией два, а
затем выполнить над результатами последнюю четвертую операцию.
Общее время
выполнения подобного запроса, конечно, будет существенно меньше, чем при традиционном
способе выполнения последовательности из четырех операций (см. рис. 10.13).
И третий
вид параллелизма является гибридом двух ранее рассмотренных (см. рис. 10.14).
Наиболее
активно применяются все виды параллелизма в OLAP-приложениях, где эти методы
позволяют существенно сократить время выполнения сложных запросов над очень
большими объемами данных.
Рис.
10.13. Выполнение запроса при вертикальном параллелизме
Рис.
10.14. Выполнение запроса при гибридном параллелизме
Когда тот или иной физик использует понятие "физический вакуум", он либо не понимает абсурдности этого термина, либо лукавит, являясь скрытым или явным приверженцем релятивистской идеологии.
Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.
Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование "моря" двух компенсирующих друг друга энергий в вакууме - положительной и отрицательной, а также "моря" компенсирующих друг друга частиц - виртуальных (то есть кажущихся) электронов и позитронов в вакууме.
Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом - присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в FAQ по эфирной физике.