КОРПОРАТИВНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ
УДК 004.4
МОДЕЛИРОВАНИЕ КОНФЛИКТОВ ПРИ РЕПЛИКАЦИИ ДАННЫХ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ С ИЕРАРХИЧЕСКОЙ АРХИТЕКТУРОЙ
© 2007 г. В.Н. Кухарев
Введение
В настоящее время проблема возникновения конфликтов при репликации данных представляется задачей с множеством решений, ориентированных на отдельные аспекты транзакционного механизма и логических особенностей структуры баз данных. Ряд исследователей, занимавшихся репликацией данных [1 - 8], разработали модели, учитывающие местоположение данных, особенности запроса и нагрузки в линиях связи.
Эти модели были функционально преобразованы в соответствующие алгоритмы управления транзакциями - блокирующие алгоритмы, алгоритмы с временной фиксацией и оптимистические алгоритмы (кроме того, существует ряд смешанных и индивидуальных алгоритмов). Однако в данных работах моделирование проводилось без учета особенностей конкретных архитектур информационных систем, с соответствующим отражением этих архитектур на работу транзакций. Таким образом, представляется актуальным разработка моделей разрешения конфликтов при
репликации данных для систем с иерархической архитектурой.
Моделирование системы
В распределенной системе (рис. 1) единая логическая база данных делится на некоторое количество фрагментов, каждый из которых хранится на одном или нескольких компьютерах, работающих под управлением отдельных СУБД и соединенных между собой линиями связи. Каждый из узлов (рис. 2) расположен на некотором уровне иерархии, отражающем его права на модификацию данных.
В модели системы (рис. 1) источник данных представляет собой некоторый компонент, ответственный за генерацию рабочей нагрузки, характеризующей все параметры транзакций - сроки их действия и страницы, к которым они обращаются. Более детально эти компоненты представлены на рис. 3.
Конкретный узел системы с сервером локальных баз данных при моделировании представляется [2, 3] как некоторая точка фрагментации транзакций по характеру доступности данных и параметрам транзакции (рис. 4).
Источник данных
Менеджер совместного выполнения
Менеджер транзакций
Фрагмент системы управления распределенными базами данных
Рис. 1. Структура распределенной системы
Рис. 2. Пример иерархической модели репликационной сети
Результаты выполнения транзакции
Клиент Создание транзакции
сервер
Менеджер транзаций
Управление загрузкой данных Чтение/запись данных Мастер контроля commit Мастер контроля abort
Сервисное обслуживание
Запрос
Ответ
Менеджер совместного управления
Запрос доступа Commit
Блокирующая очередь
Запрос данных
Запрос данных
Сервисное обслуживание
£2 = Менеджер ресурсов
o-û
III
CPU CPU CPU
Log
I]
Диски
Получение информации
Отправка запроса
Рис. 3. Модель исполнения на уровне процессов
Новая транзакция
пользователь
Очередь с блокировками
Активная транзакция
Сервер
Commit транзакция
Данные заблокированы
запрос
Данные представлены
Устройства ввода-вывода
z
Восстановить данные
Восстановление данных с исользованием центрального
процессора и устройств ввода-вывода и наивысшим приоритетом операции
Рис. 4. Траектория движения транзакции
Непосредственная транзакция представляется как координатор транзакций M, запускающий множество процессов Ci, каждый из которых генерирует множество
процедур удаленного обновления данных U1 (рис. 5).
Рис. 5. Структура транзакции
Постановка задачи моделирования
Предположим, что существует некоторое множество уровней иерархии репликационной сети A = (,a2,...,ai,...,an), каждый из которых характеризуется индивидуальными характеристиками по времени обработки запроса и времени синхронизации данных со смежными уровнями.
Также существует множество запросов Z = z 1,
г 2,..., г ^,..., zm, формируемых множеством клиентов,
обращающихся к базе данных. На каждом уровне иерархии информационной системы данные таблицы и их логические объединения характеризуются индивидуальными параметрами доступа и синхронизации -
чем выше уровень иерархии, тем больше прав у транзакции на доступ и модификацию данных.
Конкретные параметры моделирования приведены в табл. 1. Схема репликационной сети представлена на рис. 1.
Таблица 1
Параметры моделирования
Переменная Значение
Число узлов системы 6
Количество таблиц в РБД 800
Время выполнения запроса на 1 уровне системы, мс 150 ± 40
Время выполнения запроса на 2 уровне системы, мс 100 ± 30
Время выполнения запроса на 3 уровне системы, мс 50 ± 20
Время синхронизации таблиц между 1 и 2 уровнями, мс 30 ± 10
Время синхронизации таблиц между 2 и 3 уровнями, мс 10 ± 5
Запросы клиентов к ЛБД, с 5 ± 2
Число транзакций, сгенерированных при переходе с 1 уровня на 2 4 ± 2
Число транзакций, сгенерированных при переходе с 2 уровня на 3 7 ± 3
Результаты моделирования
На основе разработанной программы, отражающей представленные выше положения, были сформированы зависимости распределения числа конфликтов в различных узлах системы (рис. 6). Также были сформированы зависимости времени разрешения конфликтов в зависимости от уровня иерархии (рис. 7).
Рис. 6. Распределение числа возникаемых конфликтов по уровням иерархии
Рассматривая данную диаграмму, можно отметить сравнительно высокое число конфликтных ситуаций на 1 уровне иерархи, что можно объяснить жесткими исходными требованиями к разграничению допуска между транзакциями разных уровней.
1 уровень 2 уровень 3 уровень
Рис. 7. Время разрешения конфликта в зависимости от уровня иерархии
Представленный график показывает достаточно значительное время, требуемое на разрешение конфликтов для всех уровней системы. Это связано с необходимостью "пропуска" транзакций с более высоким приоритетом и повторным выполнением тран-
закций более низкого приоритета, с соответствующей повторной синхронизацией.
Выводы
Настоящая работа посвящена проблеме возникновения конфликтов при репликации данных и нарушения целостности баз данных для систем заданной архитектуры. Целью статьи является моделирование развития конфликтов в системе и выявления слабых звеньев, что требует учета архитектурных особенностей системы.
Представленная модель учитывает особенности работы сложных транзакций, обращающихся к множеству физически разделенных фрагментов баз данных. Результаты экспериментов демонстрируют зависимость числа возникаемых конфликтов и времени разрешения конфликта в зависимости от уровня иерархии системы, на котором генерируется транзакция.
Литература
1. Amir Y., Danilov C., Miskin-Amir M., Stanton J., Tutu C. On the Performance of Wide-Area Synchronous Database Replication. Technical Report CNDS-2002-4. November 18, 2002 http://www.cnds.jhu.edu.
2. Carey M.J., Livny M. Conflict Detection Tradeoffs for Replicated Data ACM Transactions on Database Systems, Vol. 16, № 4, December 1991, P. 703-746.
3. Chervenak A.L., Palavalli N., Bharathi S., Kesselman C., Schwartzkopf R. Performance and Scalability of a Replica Location Service. Proceedings of the International IEEE Symposium on High Performance Distributed Computing (HPDC-13), June 2004.
4. Enez-Peris R.J., Patino-Marinez M., Alonso G., Kemme B. Are Quorums an Alternative for Data Replication? ACM Transactions on Database Systems, Vol. 28, № 3, September 2003, P. 257-294.
5. Naor M., Wool A. The load, capacity, and availability of quorum systems. SIAM J. Comput. 27, 2 (Apr.), 1998, P. 423-447.
6. Peleg D., Wool A. Crumbling walls: A class of practical and efficient quorum systems. Distrib. Comput. 10, 1997. P. 87-97.
7. Ripeanu M., Foster I. A Decentralized, Adaptive, Replica Location Service. 11th IEEE International Symposium on High Performance Distributed Computing (HPDC-11)Edinburgh, Scotland, July 24-16, 2002.
8. Theel O., Pagnia-Koch H. General design of grid-based data replication schemes using graphs and a few rules. In Proceedings of the IEEE International Conference on Distributed Computing Systems (ICDCS) (Vancouver, B.C., Canada). IEEE Computer Society Press, Los Alamitos, 1995. Calif., 395-403.
Южно-Российский государственный технический университет
(Новочеркасский политехнический институт) 5 сентября 2006 г.