Добавить в закладки могут только зарегистрированные пользователи.
Какие существуют особенности репликации данных из распределенных БД 

Ксения Тратканова14 июля 2014 г. 14:38

Вопрос читателя журнала «Современные технологии делопроизводства и документооборота»: "Какие существуют особенности репликации данных из распределенных БД?"

Начнем с определения понятия «репликация». Репликация — это процесс, под которым понимается копирование данных (например, содержимого базы данных – БД) из одного источника в другой. При репликации изменения, сделанные в одной копии объекта, могут быть распространены в другие копии. Таким образом, происходит синхронизация содержимого нескольких копий. Это нужно в тех случаях, когда, компания имеет сложную распределенную структуру, но всем филиалам необходимо работать в едином информационном пространстве. Это дает надежность – в случае поломки канала связи филиалы имеют возможность продолжения работы независимо. Это дает экономию – меньше требований к каналам связи между филиалами.

Различают два вида репликации: онлайн и офлайн (еще их называют синхронная и асинхронная).

Первый тип настраивается для тех баз данных, которые соединены между собой каналами связи с хорошей пропускной способностью. И все изменения в этих БД происходят в реальном времени: как только произошло изменение информации в одной БД, оно синхронизируется (копируется) в другую базу. Например, документ отредактировали и сохранили в одном из филиалов компании, а в результате измененный документ будут иметь все филиалы.

В этом случае нужно учитывать:

1.   Время выполнения операции будет увеличено из-за того, что в момент сохранения данных, они реплицируются на другие базы данных.

2.   Характерны проблемы, связанные с доступностью данных.

3.   Данный вид репликации возможен только для каналов связи с высокой пропускную способностью.

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

Для репликации характерны следующие особенности:

1.   Для однозначного определения записи в распределенных базах данных должны иметь уникальный идентификатор в рамках нескольких БД.

2.   Необходима одинаковая структура хранения данных в БД.

3.   Необходимо учитывать репликацию связанных записей справочников. Например, при заведении нового контрагента в справочнике «Организации» мы создаем еще и новую запись в справочнике «Города». При репликации новой записи справочника Организации также должна быть передана и запись справочника «Города» (если ранее ее не было в целевой БД) для обеспечения корректности реплицируемых данных.

4.   При репликации БД могут возникать конфликты данных

●    удаление используемой записи;

●    удаление изменяемой записи;

●    изменение измененной записи;

●    изменение несуществующей записи;

●    неуникальность кода или наименования записи справочника;

●    отсутствие записи справочника;

●    отсутствие прав на выполнение действия.

Но надо отметить, что современные системы позволяют быстро разрешать подобные конфликты, в том числе автоматически.

5.   Нужно заранее продумывать ситуации возникновения дублей и стараться их предотвратить. Так как синхронизация происходит с некоторой задержкой во времени, возможна ситуация, когда в нескольких базах заведут одну и ту же запись, например, в справочнике «Организации». Еще пример дублирования: «ООО Альфа» и «Альфа ООО» – для системы это две разные записи. Избежать дублирования данных возможно, если следовать единым правилам ведения записей в базах данных и разграничением прав, то есть это решается организационными мерами.

К недостаткам репликации можно отнести то, что часть времени копии данных не идентичны базовым данным, поэтому пользователи должны учитывать, когда именно были синхронизированы эти данные.


Тип: Записи блогов

 (4,31 - оценили 2 чел.)

Комментарии
  • Сохранить комментарий
  • Цитировать выделенное
  • Предпросмотр