Классика баз данных - статьи


         

Репликация и согласование данных


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

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

Из соображений эффективности данные часто реплицируются на нескольких узлах. Когда все эти узлы связаны сетью, можно поддерживать идентичность копий. Однако в ситуациях, когда связь нарушается, в копиях могут появиться различия. После восстановления связи должен включаться механизм согласования (reconciliation), который должен согласовать все копии и сформировать одну новую копию, отражающую все сделанные изменения.

С точки зрения традиционных распределенных баз данных, утрата связности сети – это случай исключительный, аномальный, и поэтому процесс восстановления и согласования данных мог быть сложным и занимать относительно много времени. В новой информационной среде, как показывает приведенный выше пример, подобные ситуации становятся уже не исключением, а нормой. Отсюда необходимость создания быстрых протоколов и алгоритмов согласования.

Отметим также, что, в связи с растущей зависимостью производственных процессов от информационных систем, для многих приложений необходимым требованием становится стопроцентная доступность, или, как это иногда обозначают, "доступность 7х24" (7 дней в неделю х 24 часа в сутки). Некоторые проблемы повышения надежности решаются за счет совершенствования аппаратных средств. Однако в среде баз данных для повышения доступности необходимо исследование новых репликационных схем, обеспечивающих идентичность копий данных и корректное функционирование системы в условиях отказа отдельных компонентов.



Содержание  Назад  Вперед