ВУЗ:
Составители:
Рубрика:
72
узлах с поддержкой согласованности копий и средства поддержания мгновенных снимков
состояния баз данных в соответствии с заданным запросом.
Для задания горизонтального разделения отношений (горизонтальная фрагментация)
в SQL была введена конструкция вида
DISTRIBUTE TABLE <table-name> HORIZONTALLY INTO
<name> WHERE <predicate> IN SEGMENT <segment-name site>
...
<name> WHERE <predicate> IN SEGMENT <segment-name site>
При выполнении предложения такого типа указанное отношение разбивалось на ряд
подотношений, содержащих кортежи, удовлетворяющие соответствующему предикату из
раздела WHERE, и каждое полученное таким образом подотношение посылалось в
указанный узел для хранения в сегменте с указанным именем. Гарантируется
согласованное состояние разделов при изменении отношения.
Вертикальное разделение (вертикальная фрагментация) производилось с помощью
оператора
DISTRIBUTE TABLE <table-name> VERTICALLY INTO
<name> WHERE <column-name-list> IN SEGMENT <segment-name site>
...
<name> WHERE <column-name-list> IN SEGMENT <segment-name site>
При выполнении такого предложения также образовывался набор подотношений с
помощью проекции заданного отношения на атрибуты из заданного списка. Каждое
полученное подотношение затем посылалось для хранения в сегменте с указанным
именем в соответствующий узел. После этого система ответственна за поддержание
согласованного состояния образованных разделов.
Горизонтальное и вертикальное разделение отношений реально не используются в
System R*, хотя очевидно, что выполнение собственно оператора DISTRIBUTE никаких
технических трудностей не вызывает. Трудности возникают при обеспечении
согласованности разделов (смотри ниже). Кроме того, разделенные отношения очень
трудно использовать. В соответствии с идеологией системы учет наличия разделов
отношения в разных узлах сети должен производить оптимизатор, т.е. количество
потенциально возможных планов выполнения запросов, которые должны оцениваться
оптимизатором, еще более возрастает. При том, что в распределенной системе число
возможных планов и так очень велико, и оптимизатор работает на пределе сложности,
разумным образом использовать разделенные отношения невозможно. Разработчики
оптимизатора System R* не были в состоянии учитывать разделенность отношений.
Поэтому и вводить в систему разделенные отношения пока бессмысленно.
Для задания требования поддержки копий отношения в нескольких узлах сети
предлагалось использовать новую конструкцию SQL
DISTRIBUTE TABLE <table-name> REPLICATED INTO
<name> IN SEGMENT <segment-name site>
...
<name> IN SEGMENT <segment-name site>
При выполнении такого предложения должна была производиться рассылка копий
указанного отношения для хранения в именованных сегментах указанных узлов сети.
Система должна автоматически поддерживать согласованность копий.
Как и в случае разделенных отношений, кроме существенных проблем поддержания
согласованности копий, проблемой является и разумное использование копий, наличие
которых должно было бы учитываться оптимизатором.
Создание мгновенного снимка состояния баз данных в соответствии с заданным
запросом на выборку должно было производиться с использованием новой конструкции
SQL.
узлах с поддержкой согласованности копий и средства поддержания мгновенных снимков
состояния баз данных в соответствии с заданным запросом.
Для задания горизонтального разделения отношений (горизонтальная фрагментация)
в SQL была введена конструкция вида
DISTRIBUTE TABLE HORIZONTALLY INTO
WHERE IN SEGMENT
...
WHERE IN SEGMENT
При выполнении предложения такого типа указанное отношение разбивалось на ряд
подотношений, содержащих кортежи, удовлетворяющие соответствующему предикату из
раздела WHERE, и каждое полученное таким образом подотношение посылалось в
указанный узел для хранения в сегменте с указанным именем. Гарантируется
согласованное состояние разделов при изменении отношения.
Вертикальное разделение (вертикальная фрагментация) производилось с помощью
оператора
DISTRIBUTE TABLE VERTICALLY INTO
WHERE IN SEGMENT
...
WHERE IN SEGMENT
При выполнении такого предложения также образовывался набор подотношений с
помощью проекции заданного отношения на атрибуты из заданного списка. Каждое
полученное подотношение затем посылалось для хранения в сегменте с указанным
именем в соответствующий узел. После этого система ответственна за поддержание
согласованного состояния образованных разделов.
Горизонтальное и вертикальное разделение отношений реально не используются в
System R*, хотя очевидно, что выполнение собственно оператора DISTRIBUTE никаких
технических трудностей не вызывает. Трудности возникают при обеспечении
согласованности разделов (смотри ниже). Кроме того, разделенные отношения очень
трудно использовать. В соответствии с идеологией системы учет наличия разделов
отношения в разных узлах сети должен производить оптимизатор, т.е. количество
потенциально возможных планов выполнения запросов, которые должны оцениваться
оптимизатором, еще более возрастает. При том, что в распределенной системе число
возможных планов и так очень велико, и оптимизатор работает на пределе сложности,
разумным образом использовать разделенные отношения невозможно. Разработчики
оптимизатора System R* не были в состоянии учитывать разделенность отношений.
Поэтому и вводить в систему разделенные отношения пока бессмысленно.
Для задания требования поддержки копий отношения в нескольких узлах сети
предлагалось использовать новую конструкцию SQL
DISTRIBUTE TABLE REPLICATED INTO
IN SEGMENT
...
IN SEGMENT
При выполнении такого предложения должна была производиться рассылка копий
указанного отношения для хранения в именованных сегментах указанных узлов сети.
Система должна автоматически поддерживать согласованность копий.
Как и в случае разделенных отношений, кроме существенных проблем поддержания
согласованности копий, проблемой является и разумное использование копий, наличие
которых должно было бы учитываться оптимизатором.
Создание мгновенного снимка состояния баз данных в соответствии с заданным
запросом на выборку должно было производиться с использованием новой конструкции
SQL.
72
Страницы
- « первая
- ‹ предыдущая
- …
- 70
- 71
- 72
- 73
- 74
- …
- следующая ›
- последняя »
