Классика баз данных - статьи

       

Простейший реляционный граф потока данных.




Рисунок 11.

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

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

Операция расщепления, показанный в таблице 1, является только примером. Другие операции расщепления могли бы тиражировать входной поток или разделять его по кругу или на основе хэширования. Функции разделения может выполнять любая программа. Такой подход используется в системах Gamma, Volcano и Tandem [14]. Он имеет несколько преимуществ,включая автоматическое распараллеливание любого нового оператора, добавляемого к системе; к тому же он поддерживает многие виды параллелизма.

Операции расщепления и слияния имеют встроенное управление потоками и буферизацию. Это позволяет избежать ситуации, когда одна операция намного опередит другую в своем выполнении. Когда буферы выходных данных операции расщепления заполняются, он блокирует реляционную операцию до тех пор, пока из места назначения данных не потребуют следующую порцию выходных данных.

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

Специальные параллельные реляционные операции. Некоторые алгоритмы реляционных операций являются особенно подходящими для параллельного выполнения, потому что они либо сводят к минимуму поток данных, либо более терпимы к перекосам в данных и выполнении. Для большинства реляционных операций были найдены улучшенные алгоритмы.

Содержание  Назад  Вперед