Корпоративные базы данных - статьи


1.6. Технология тиражирования данных




Принципиальная характеристика тиражирования данных (Data Replication - DR) заключается в
отказе от физического распределения данных. Суть DR состоит в том, что любая база данных (как
для СУБД, так и для работающих с ней пользователей) всегда является локальной; данные
размещаются локально на том узле сети, где они обрабатываются; все транзакции в системе
завершаются локально.

Тиражирование данных - это асинхронный перенос изменений объектов исходной базы данных в
базы, принадлежащим различным узлам распределенной системы. Функции DR выполняет, как
правило, специальный модуль СУБД - сервер тиражирования данных, называемый репликатором
(так устроены СУБД CA-OpenIngres и Sybase). В Informix-OnLine Dynamic Server репликатор
встроен в сервер, в Oracle 7 для использования DR необходимо приобрести дополнительно к
Oracle7 DBMS опцию Replication Option.

Специфика механизмов DR зависит от используемой СУБД. Простейший вариант DR -
использование "моментальных снимков" (snapshot). Рассмотрим пример из Oracle:

CREATE SNAPSHOT unfilled_orders
REFRASH COMPLETE
START WITH TO_DATE ('DD-MON-YY HH23:MI:55')
NEXT SYSDATE + 7
AS SELECT customer_name, customer_address, order_date
FROM customer@paris, order@london
WHERE customer.cust_name = order.customer_number AND
order_complete_flag = "N";

"Моментальный снимок" в виде горизонтальной проекции объединения таблиц customer и
order будет выполнен в 23:55 и будет повторятся каждые 7 дней. Каждый раз будут выбираться
только завершенные заказы.

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

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



- Начало -  - Назад -  - Вперед -