Распределенная обработка данных. Найханова Л.В. - 30 стр.

UptoLike

Составители: 

30
Лекция 3. Проблемы распределенных систем
Ниже более подробно описываются некоторые уже упомянутые проблемы. Основная
проблема информационных сетей, по крайней мере глобальных, заключается в том, что
они достаточно медленны. В типичной глобальной сети интенсивность обмена данными
равна приблизительно 5 или 10 тыс. байт в секунду, а для обычного жесткого диска
интенсивность обмена данными - около 5 или 10.млн байт в секунду. (С другой стороны, в
локальных вычислительных сетях уже может поддерживаться скорость обмена данными,
сравнимая с интенсивностью обмена на жестких дисках.) Вследствие этого основным
требованием к распределенным системам является минимизация использования сети, т.е.
сокращение до минимума количества и объема пересылаемых в сети сообщений.
Стремление к достижению-этой цели приводит, в свою очередь, к необходимости
решения перечисленных ниже проблем (хотя перечень всех проблем не исчерпывается
этим списком).
Обработка запросов.
Управление каталогом.
Распространение обновления.
Управление восстановлением.
Управление параллелизмом.
Обработка запросов
При минимизации использования сети предполагается, что сама по себе
оптимизация запроса, как и его исполнение, должна быть распределенной. Иначе говоря,
общий процесс оптимизации обычно состоит из этапа глобальной оптимизации, который
сопровождается несколькими этапами локальной оптимизации. Например, допустим, что
запрос Q задан на узле X и включает объединение отношения R
у
, содержащего сто
кортежей на узле Y, и отношения R
z
, содержащего миллион кортежей на узле Z .
Оптимизатор на узле X выберет глобальную стратегию для выполнения запроса Q, при
этом, очевидно, лучше переместить отношение R
y
на узел Z, а не отношение R
z
на узел Y
(и конечно же, не следует перемещать оба отношения R
y
и R
z
на узел X. Тогда сразу после
перемещения отношения R
y
на узел Z стратегия выполнения объединения на узле Z будет
выбрана локальным оптимизатором на узле Z.
Проиллюстрируем изложенные идеи. Рассмотрим базу данных поставщиков и
деталей (упрощенный вариант):
S { S#, CITY } 10 000 хранимых кортежей на узле A
Р { P#, COLOR } 100 000 хранимых кортежей на узле В
SР { S#, P# } 1 000 000 хранимых кортежей на узле А
Предполагается, что каждый хранимый кортеж имеет размер 25 байт (200 бит).
Запрос "Получить сведения о находящихся в Лондоне (London) поставщиках
красных (Red) деталей:
S.S# WHERE EXISTS SP EXISTS Р ( S.CITY = 'London' AND
S.S# = SP.S# AND
SP.P# = P.P# AND
P.COLOR = 'Red' )
Оценочные границы промежуточных результатов:
Число красных деталей = 10
Число поставок, выполняемых поставщиками из Лондона = 100 000
Лекция 3. Проблемы распределенных систем
     Ниже более подробно описываются некоторые уже упомянутые проблемы. Основная
проблема информационных сетей, по крайней мере глобальных, заключается в том, что
они достаточно медленны. В типичной глобальной сети интенсивность обмена данными
равна приблизительно 5 или 10 тыс. байт в секунду, а для обычного жесткого диска
интенсивность обмена данными - около 5 или 10.млн байт в секунду. (С другой стороны, в
локальных вычислительных сетях уже может поддерживаться скорость обмена данными,
сравнимая с интенсивностью обмена на жестких дисках.) Вследствие этого основным
требованием к распределенным системам является минимизация использования сети, т.е.
сокращение до минимума количества и объема пересылаемых в сети сообщений.
Стремление к достижению-этой цели приводит, в свою очередь, к необходимости
решения перечисленных ниже проблем (хотя перечень всех проблем не исчерпывается
этим списком).
     • Обработка запросов.
     • Управление каталогом.
     • Распространение обновления.
     • Управление восстановлением.
     • Управление параллелизмом.

     Обработка запросов
     При минимизации использования сети предполагается, что сама по себе
оптимизация запроса, как и его исполнение, должна быть распределенной. Иначе говоря,
общий процесс оптимизации обычно состоит из этапа глобальной оптимизации, который
сопровождается несколькими этапами локальной оптимизации. Например, допустим, что
запрос Q задан на узле X и включает объединение отношения Rу, содержащего сто
кортежей на узле Y, и отношения Rz, содержащего миллион кортежей на узле Z .
Оптимизатор на узле X выберет глобальную стратегию для выполнения запроса Q, при
этом, очевидно, лучше переместить отношение Ry на узел Z, а не отношение Rz на узел Y
(и конечно же, не следует перемещать оба отношения Ry и Rz на узел X. Тогда сразу после
перемещения отношения Ry на узел Z стратегия выполнения объединения на узле Z будет
выбрана локальным оптимизатором на узле Z.
     Проиллюстрируем изложенные идеи. Рассмотрим базу данных поставщиков и
деталей (упрощенный вариант):
              S { S#, CITY }             10 000 хранимых кортежей на узле A
              Р { P#, COLOR }           100 000 хранимых кортежей на узле В
              SР { S#, P# }           1 000 000 хранимых кортежей на узле А
     Предполагается, что каждый хранимый кортеж имеет размер 25 байт (200 бит).
     Запрос "Получить сведения о находящихся в Лондоне (London) поставщиках
красных (Red) деталей:

                S.S# WHERE EXISTS SP EXISTS Р ( S.CITY = 'London' AND
                                                S.S# = SP.S# AND
                                                SP.P# = P.P# AND
                                                P.COLOR = 'Red' )
     Оценочные границы промежуточных результатов:
                   Число красных деталей                               = 10
                   Число поставок, выполняемых поставщиками из Лондона = 100 000



30