Методы оптимизации выполнения запросов в реляционных СУБД

Гадание на игральных картах источник. |

Стратегии выполнения соединений в распределенных базах данных - часть 4


Для выбора используются те или иные варианты алгоритмов глосования.

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

В более общем случае наличие фрагментов отношения в нескольких узлах сети позволяет распараллелить выполнение соединения. Например, если, как в [33], фрагменты отношения получены в результате применения мультиатрибутного хэширования, то удается достичь очень высокой степени распараллеливания. Заметим, что распределенные системы, ориентированные на параллельное выполнение реляционных операций, обычно строятся на основе аппаратуры высокоскоростных локальных сетей и к ним можно относиться как к машинам баз данных. Вопросы оптимизации в таких системах своеобразны и, вообще говоря, отличны от тех, которые свойственны распределенным системам рассматриваемого нами класса.

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


Начало  Назад  Вперед



Книжный магазин