- •Распределение и тиражирование данных
- •Архитектура распределенной базы данных
- •Взаимодействие и автономность
- •Расширение модели клиент/сервер
- •Сети и системы распределенных баз данных
- •Сервисы базы данных и именование в распределенной базе данных
- •Связи баз данных
- •Связи баз данных фиксированного пользователя, соединенного пользователя и текущего пользователя
- •Общие, частные и глобальные связи баз данных
- •Разделяемые связи баз данных
- •Неоднородные распределенные базы данных
- •Вызовы удаленных процедур (rpc)
- •Удаленные транзакции
- •Распределенные транзакции
- •Алгоритм двухфазного завершения Oracle
- •Прозрачность распределенной базы данных
- •Безопасность распределенной базы данных
- •Глобальные пользователи и роли
- •Введение в тиражирование данных
- •Польза тиражирования данных
- •Типы тиражирования данных
- •Базовое тиражирование и моментальные снимки "только для чтения"
- •Сложные моментальные снимки
- •Хранение информации моментальных снимков
- •Регенерация моментальных снимков
- •Виды регенерации моментальных снимков
- •Журналы моментальных снимков
- •Группы регенерации моментальных снимков
- •Автоматическая регенерация моментальных снимков
- •Автоматическая регенерация моментальных снимков и очереди заданий
- •Ручная регенерация моментальных снимков
- •Среды усовершенствованного тиражирования
- •Многоабонентское тиражирование
- •Узлы моментальных снимков и обновляемые моментальные снимки
- •Сравнение вариантов усовершенствованного тиражирования
- •Архитектура системы усовершенствованного тиражирования Объекты тиражирования и группы тиражирования
- •Основные узлы и узлы моментальных снимков
- •Каталоги тиражирования
- •Интерфейс прикладных программ управления тиражированием
- •Программные алгоритмы усовершенствованного тиражирования Oracle
- •Тиражирование на уровне строк
- •Асинхронное распространение данных
- •Принудительная рассылка отложенных транзакций в очереди
- •Уничтожение очереди отложенных транзакций
- •Последовательное и параллельное распространение
- •Уникальные алгоритмы распространения моментальных снимков
- •Конфликты тиражирования в системах усовершенствованного тиражирования
- •Типы конфликтов тиражирования
- •Предотвращение конфликтов
- •Распознавание и устранение конфликтов
- •Группы столбцов и методы устранения конфликтов
- •Другие варианты усовершенствованного тиражирования
- •Процедурное тиражирование
- •Распознавание конфликтов и процедурное тиражирование
- •Синхронное распространение данных
- •Конфликты тиражирования и синхронное тиражирование данных
Разделяемые связи баз данных
Рациональное использование ресурсов компьютера всегда приводит к повышению производительности приложении. Для того чтобы уменьшить число сетевых соединении, устанавливаемых между серверами баз данных, рекомендуется применять разделяемые связи баз данных (shared database link), которые разрешают установление для локальной базы данных нескольких сеансов, совместно использующих одно соединение с удаленной базой данных. В результате снижается расход ресурсов, необходимых для поддержания взаимодействия.
Разделяемые связи баз данных полезны только тогда, когда для локального сервера применяется конфигурация многопоточного сервера и когда нескольким локальным пользователям одновременно необходим доступ к одной и той же удаленной базе данных. В противном случае разделяемые связи баз данных ведут к увеличению расхода ресурсов, необходимых для установления соединений с удаленным сервером.
Неоднородные распределенные базы данных
В системе неоднородной распределенной базы данных, по меньшей мере, одна из баз данных не является системой Oracle. Дополнительный программный пакет, называемый открытыми шлюзами(Open Gateways)Oracle, позволяет объединять в распределенной базе данных системыOracleи системы не-Oracle, формируя систему распределенной базы данных. Приложения могут соединяться с сервером локальной базы данныхOracleи обращаться к данным системы не-Oracle в случаях, когда используется шлюз приложений.
Приложения и распределенные базы данных
При разработке приложений для работы в системе распределенной базы данных необходимо иметь специальные знания.
Удаленные запросы
Удаленный запрос (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;