Технология тиражирования данных
Принципиальная характеристика тиражирования (репликации) данных (Data Replication - DR) заключается в отказе от физического распределения данных. Суть DR состоит в том, что любая база данных (как для СУБД, так и для работающих с ней пользователей) всегда является локальной; данные размещаются локально на том узле сети, где они обрабатываются; все транзакции в системе завершаются локально. DR – это набор технологий, который позволяет поддерживать несколько копий одних и тех же данных на нескольких узлах. Пример 7.6 Рассмотрим пример из 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 дней. Каждый раз будут выбираться только завершенные заказы. · данные всегда расположены там, где они обрабатываются - следовательно, скорость доступа к ним существенно увеличивается; · передача только операций, изменяющих данные (а не всех операций доступа к удаленным данным), и к тому же в асинхронном режиме позволяет значительно уменьшить трафик; · со стороны исходной базы для принимающих баз репликатор выступает как процесс, инициированный одним пользователем, в то время как в физически распределенной среде с каждым локальным сервером работают все пользователи распределенной системы, конкурирующие за ресурсы друг с другом; · никакой продолжительный сбой связи не в состоянии нарушить передачу изменений. Дело в том, что тиражирование предполагает буферизацию потока изменений (транзакций); после восстановления связи передача возобновляется с той транзакции, на которой тиражирование было прервано. DR-технология данных не лишена недостатков. Например, невозможно полностью исключить конфликты между двумя версиями одной и той же записи. Он может возникнуть, когда вследствие асинхронности два пользователя на разных узлах исправят одну и ту же запись в тот момент, пока изменения в данных из первой базы данных еще не были перенесены во вторую. При проектировании распределенной среды с использованием DR-технологии необходимо предусмотреть конфликтные ситуации и запрограммировать репликатор на какой-либо вариант их разрешения. Необходимо отметить, что при этой технологии предъявляются высокие требования к аппаратным ресурсам узлов. Технология тиражирования нашла применение там, где предъявляются повышенные требования к надежности - в сфере банковских информационных систем.
|