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


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


является дорогостоящей), то применение вертикального разделения может существенно повысить эффективность соединений.

Заметим для корректности, что вопрос относительно дубликатов так прост только в чистой реляционной алгебре. Как только речь начинает идти о возможности использования встроенных функций таких, как COUNT и AVG, ситуация резко усложняется. Видимо, если бы вертикальное разделение было бы реализовано в System R*, то пришлось бы в подотношениях сохранять дубликаты, что само по себе выглядело бы довольно странно.

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

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

Во-вторых, естественно уменьшается, если не исчезает вовсе, локальная автономность узлов сети. Фактически, распределенная база данных становится административно централизованной.

Наконец, в-третьих, сложность оптимизатора запросов в системе, поддерживающей нетрадиционную организацию баз данных, непомерно возрастает. Увеличивается и число потенциально возможных стратегий выполнения запросов, и число факторов, которые необходимо оценивать. Если учесть, что оптимизаторы запросов и так являются одними из наиболее сложных компонентов современных реляционных СУБД (класса System R), то их дальнейшее усложнение ставит под сомнение возможность реализации системы.

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

| |




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