
- •Распределение и тиражирование данных
- •Архитектура распределенной базы данных
- •Взаимодействие и автономность
- •Расширение модели клиент/сервер
- •Сети и системы распределенных баз данных
- •Сервисы базы данных и именование в распределенной базе данных
- •Связи баз данных
- •Связи баз данных фиксированного пользователя, соединенного пользователя и текущего пользователя
- •Общие, частные и глобальные связи баз данных
- •Разделяемые связи баз данных
- •Неоднородные распределенные базы данных
- •Вызовы удаленных процедур (rpc)
- •Удаленные транзакции
- •Распределенные транзакции
- •Алгоритм двухфазного завершения Oracle
- •Прозрачность распределенной базы данных
- •Безопасность распределенной базы данных
- •Глобальные пользователи и роли
- •Введение в тиражирование данных
- •Польза тиражирования данных
- •Типы тиражирования данных
- •Базовое тиражирование и моментальные снимки "только для чтения"
- •Сложные моментальные снимки
- •Хранение информации моментальных снимков
- •Регенерация моментальных снимков
- •Виды регенерации моментальных снимков
- •Журналы моментальных снимков
- •Группы регенерации моментальных снимков
- •Автоматическая регенерация моментальных снимков
- •Автоматическая регенерация моментальных снимков и очереди заданий
- •Ручная регенерация моментальных снимков
- •Среды усовершенствованного тиражирования
- •Многоабонентское тиражирование
- •Узлы моментальных снимков и обновляемые моментальные снимки
- •Сравнение вариантов усовершенствованного тиражирования
- •Архитектура системы усовершенствованного тиражирования Объекты тиражирования и группы тиражирования
- •Основные узлы и узлы моментальных снимков
- •Каталоги тиражирования
- •Интерфейс прикладных программ управления тиражированием
- •Программные алгоритмы усовершенствованного тиражирования Oracle
- •Тиражирование на уровне строк
- •Асинхронное распространение данных
- •Принудительная рассылка отложенных транзакций в очереди
- •Уничтожение очереди отложенных транзакций
- •Последовательное и параллельное распространение
- •Уникальные алгоритмы распространения моментальных снимков
- •Конфликты тиражирования в системах усовершенствованного тиражирования
- •Типы конфликтов тиражирования
- •Предотвращение конфликтов
- •Распознавание и устранение конфликтов
- •Группы столбцов и методы устранения конфликтов
- •Другие варианты усовершенствованного тиражирования
- •Процедурное тиражирование
- •Распознавание конфликтов и процедурное тиражирование
- •Синхронное распространение данных
- •Конфликты тиражирования и синхронное тиражирование данных
Польза тиражирования данных
Тиражирование данных может быть полезно для различных приложений. Ниже показано, как можно использовать тиражирование данных для обеспечения работы приложений:
Тиражирование данных полезно для распространения копий ценной информации. Например, главный офис сети розничных магазинов может по ночам тиражировать свою таблицу, содержащую самые свежие сведения о товарах, во все торговые точки, чтобы во всех магазинах информация о цене продуктов всегда была правильной и согласованной с другими.
Можно использовать тиражирование данных для пересылки информации из базы данных в другие места хранения данных. Например, можно воспользоваться средством тиражирования Oracle, чтобы периодически копировать информацию из базы данных по обработке транзакций в хранилище данных.
Тиражирование данных может быть единственным способом обеспечения функционирования приложений, работающих с отсоединенными компонентами. Например, когда пользователи системы обработки транзакций большую часть времени не соединены с общей сетью, можно использовать тиражирование данных для синхронизации информации персональной базы данных каждого пользователя с центральной базой данных компании.
Как было показано ранее, тиражирование данных может быть полезно для создания и обслуживания узлов устранения отказов, защищающих важные базы данных. В отличие от дублирующих баз данных, узлы устранения отказов, управляемые средством тиражирования, могут выступать и как полнофункциональные базы данных, к которым могут обращаться приложения, даже если основной узел работает параллельно.
Типы тиражирования данных
В Oracleподдерживается два различных типа тиражирования: базовое и усовершенствованное.
В среде базового тиражирования (basic replication environment)тиражируемые копии обеспечивают доступ типа “только для чтения” к табличным данным, источником которых является первичный узел(primary site), иногда называемый основным узлом(master site).Приложения могут запрашивать данные в локальных тиражируемых копиях, что устраняет необходимость сетевого доступа. Если необходимо обновить данные, приложения всей системы должны обращаться к основному узлу.
В среде усовершенствованного тиражирования (advanced replication environment)приложения могут считывать и обновлять тиражируемые копии таблиц во всей системе. Для поддержки такого типа тиражирования нужно сконфигурировать ряд специальных средств на каждом сервере базы данных, который управляет тиражируемыми копиями. После этого серверыOracleмогут объединять данные всех таблиц тиражируемой копии, одновременно обеспечивая согласованность глобальных транзакций и целостность данных.
Далее рассказывается о различных конфигурациях средств базового и усовершенствованного тиражирования Oracle8.
Базовое тиражирование и моментальные снимки "только для чтения"
Средства базового тиражирования обеспечивают работу приложений, требующих доступа типа “только для чтения” к табличным данным, источником которых является основной узел. Для поддержки тиражирования "только для чтения" пользователи создают и применяют моментальные снимки таблиц, имеющие тип “только для чтения”. Моментальный снимок таблицы “только для чтения” (read-only table snapshot) -это локальная копия таблицы, источником которой является удаленная основная таблица. В таких моментальных снимках приложения могут запрашивать данные, но не могут вводить, обновлять и удалять их строки. На рис. 5 представлена архитектура моментального снимка таблицы “только для чтения” в среде базового тиражирования.
В некотором смысле моментальный снимок таблицы похож на представление, так как его логическая структура данных определяется запросом. Например, с помощью следующего оператора CREATESNAPSHOTсоздается моментальный снимок удаленной таблицыPARTS:
CREATE SNAPSHOT sales.parts AS
SELECT * FROM sales.parts@central.compworld;
В алгоритме функционирования моментальных снимков используется ряд компонентов архитектуры распределенной базы данных, в которой создаются моментальные снимки. Например, для доступа к удаленным данным необходима связь баз данных.
В отличие от представлений в моментальном снимке таблицы хранятся данные, получаемые с помощью определяющего запроса. Когда создается новый моментальный снимок, Oracleобрабатывает его определяющий запрос и заполняет локальную таблицу, где хранятся данные этого моментального снимка.
Как правило, моментальные снимки, определяемые простыми запросами, полезнее, чем такие же снимки для сложных запросов. К примеру, чтобы воспользоваться преимуществами некоторых дополнительных функциональных свойств моментальных снимков (а именно журналами и быстрой регенерацией), избегайте создания моментальных снимков с определяющими запросами, содержащими функции отличия и агрегирования, группировки, соединения, сложные подзапросы и операцию SET. Кроме того, в определяющем запросе моментального снимка всегда должны быть ссылки на столбцы первичного ключа основной таблицы, чтобы система могла без труда идентифицировать и сравнивать соответствующие строки моментального снимка и его основной таблицы.