Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Oracle / Лекции / Лек_ORAC / LEF / Распределение и тиражирование данных.doc
Скачиваний:
55
Добавлен:
16.04.2013
Размер:
165.89 Кб
Скачать

Разделяемые связи баз данных

Рациональное использование ресурсов компьютера всегда приводит к повышению производительности приложении. Для того чтобы уменьшить число сетевых соединении, устанавливаемых между сер­верами баз данных, рекомендуется применять разделяемые связи баз данных (shared database link), которые разрешают установление для локальной базы данных нескольких сеансов, совместно использующих одно соединение с удаленной базой данных. В результате снижается расход ресурсов, необходимых для поддержания взаимодействия.

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

Неоднородные распределенные базы данных

В системе неоднородной распределенной базы данных, по меньшей мере, одна из баз данных не является системой Oracle. Дополнительный программный пакет, называемый открытыми шлюзами(Open Gateways)Oracle, позволяет объединять в распределенной базе данных системыOracleи системы не-Oracle, формируя систему распределенной базы данных. Приложения могут соединяться с сервером локальной базы данныхOracleи обращаться к данным системы не-Oracle в случаях, когда используется шлюз приложений.

Приложения и распределенные базы данных

При разработке приложений для работы в системе распределенной базы данных необходимо иметь специальные знания. Далее рассказано, как разрабатывать приложения для работы с удаленной информацией распределенной базы данных при помощи SQL-операторов и программ PL/SQL.

Удаленные запросы

Удаленный запрос (remote query) —это операторSELECT, считывающий информацию в одной или в нескольких удаленных таблицах, находящихся в одном и том же удаленном узле. Например, с помощью следующего удаленного запроса информация считывается в удаленных таблицахORDERSиCUSTOMERSбазы данныхWEST:

SELECT о.id, c.company_name

FROM sales.orders@west.compworld o,

sales.customers@west.compworldс

WHERE o.cust id = c.id;

Распределенные запросы

Распределенный запрос (distributed query)считывает информацию из двух или из нескольких различных баз данных. Например, с помощью следующего распределенного запроса информация считывается в локальной таблицеORDERSи удаленной таблицеCUSTOMERS:

SELECT о.id, c.company_name

FROM sales.orders o, sales.customers@west.compworld с

WHERE o.cust_id = c.id;

Удаленное обновление

Удаленное обновление (remote update) —это операция обновления, с помощью которой модифицируются данные удаленной таблицы. Например, с помощью следующей операции обновления модифици­руется строка таблицыPARTSбазы данныхEAST:

UPDATE sales.parts@east.compworld

SET unit_price = 100.50

WHERE id =1;

Распределенное обновление

Распределенное обновление (distributed update)модифицирует данные двух или более серверов за одну операцию. Единственный способ распределенного обновления в системе распределенной базы данныхOracle— создать хранимую процедуру, метод объектных типов и т.д. и включить в их состав две или более операции обновления, каждая из которых обновляет данные в различных базах данных. Например, следующий анонимный блокPL/SQLможно считать распределенным обновлением:

BEGIN

UPDATE sales.parts@east.compworld

SET... ;

UPDATE sales.items

SET...;

END;

Соседние файлы в папке LEF