автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Математическое и программное обеспечение асинхронной репликации данных реляционных СУБД методом выделения объектов

кандидата технических наук
Апанасевич, Дмитрий Александрович
город
Воронеж
год
2008
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Математическое и программное обеспечение асинхронной репликации данных реляционных СУБД методом выделения объектов»

Автореферат диссертации по теме "Математическое и программное обеспечение асинхронной репликации данных реляционных СУБД методом выделения объектов"

На правах рукописи

□□3449938

АПАНАСЕВИЧ Дмитрий Александрович

МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ АСИНХРОННОЙ РЕПЛИКАЦИИ ДАННЫХ РЕЛЯЦИОННЫХ СУБД МЕТОДОМ ВЫДЕЛЕНИЯ ОБЪЕКТОВ

Специальносты05 13 11 - Математическое и программное

обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

1 я ПИТ 2030

Воронеж - 2008

003449938

Работа выполнена в ГОУ ВПО «Воронежский государственный технический университет»

Научный руководитель доктор технических наук, профессор

Юрасов Владислав Георгиевич

Официальные оппоненты доктор технических наук, профессор

Защита состоится «30» октября 2008 г в 10°° часов на заседании диссертационного совета Д 212 037 01 ГОУ ВПО «Воронежский государственный технический университет» по адресу 394026 г Воронеж, Московский просп, 14

С диссертацией можно ознакомиться в научной библиотеке ГОУ ВПО «Воронежский государственный технический университет»

Автореферат разослан сентября 2008 г

Кравец Олег Яковлевич,

кандидат технических наук, доцент Свиридов Андрей Станиславович

Ведущая организация ГОУ ВПО «Воронежский

государственный университет»

Ученый секретарь диссертационного совета

Питолин В М

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

Мобильность пользователя для таких систем характеризуется, прежде всего, отсутствием постоянного канала связи с ним В этих случаях для обеспечения локальной независимости узла распределенной системы применяется асинхронное тиражирование данных, которое дает важное преимущество с технической и экономической точек зрения Основная проблема распределенных систем с асинхронным тиражированием данных — соблюдение непротиворечивости и целостности данных, разрешение конфликтов согласования И если для последних современные РСУБД предлагают способы автоматического разрешения, то для поддержки целостности базы данных разработчикам информационных систем предлагается самостоятельная разработка алгоритмов

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

Работа выполнена в рамках одного из основных научных направлений ГОУ ВПО «Воронежский государственный технический университет» «Интеллектуализация процессов моделирования и оптимизации в автоматизированных и информационных системах» ГБ 04 04 научного направления «Интеллектуальные информационные системы»

Цели и задачи исследования. Целью диссертационной работы является повышение эффективности функционирования асинхронной

репликации реляционных СУБД за счет разработки методов и алгоритмов повышения уровня целостности данных в распределенных системах

Для достижения поставленной цели необходимо решить следующие задачи

1 Провести анализ принципов построения распределенных систем, современных методов определения и фиксации данных, средств обмена данными и основных проблем асинхронного тиражирования данных

2 Создать методы выделения и связывания объектов, схему проектирования репликации Оценить эффективность применения метода выделения объектов в асинхронных системах репликации, а также выработать рекомендации по его применению

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

4 На основе полученных результатов разработать структуру специального программного обеспечения асинхронной репликации данных по методу выделения объектов Разработать программный продукт, реализующий асинхронное тиражирование в реляционных СУБД

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

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

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

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

- метод выделения и связывания объектов для репликации в реляционных СУБД, основывающийся на группировке сущностей реалий и обеспечивающий сохранение уровня числа согласований, а также повышающий целостность данных,

- концептуальная модель описания схемы данных репликации, основывающаяся на разработанном методе выделения и связывания объектов и учитывающая все классы реалий РСБД,

- структура специального программного обеспечения, реализующая настройку схемы данных и асинхронное тиражирование данных в реляционных СУБД и отличающаяся применением разработанного метода выделения и связывания объектов для репликации данных

Практическая значимость и результаты внедрения. Предложенный алгоритм асинхронной репликации данных реляционных СУБД, основанный на методе выделения и связывания объектов, повышает эффективность тиражирования данных за счет автоматического контроля целостности данных и, соответственно, снижает необходимость вмешательства администраторов информационных систем для разрешения нарушений целостности данных

Рсираишанная схема проектирования процесса репликации данных может использоваться для ускорения процесса проектирования информационных систем с распределенной базой данных

Теоретические и практические результаты работы внедрены в деятельность ООО «ГЕЛА Информационные технологии и консалтинг» и реализованы в виде программной системы проектирования и проведения асинхронной репликации реляционных СУБД, о чем свидетельствует соответствующий акт внедрения

Апробация работы. Основные результаты работы были изложены на XIV Всероссийской научно-методической конференции Телематика'2007 (Санкт-Петербург, 2007), научно-технических конференциях профессорско-преподавательского состава, сотрудников, аспирантов и студентов ГОУ ВПО «Воронежский государственный технический университет» (2005-2008)

Публикации. По теме диссертационной работы опубликовано 8 научных работ, в том числе 5 - в изданиях, рекомендованных ВАК РФ

В работах, опубликованных в соавторстве, лично соискателю принадлежат метод выделения и связывания объектов в реляционной СУБД [1,8], классификация основных проблем асинхронного тиражирования и нарушений целостности различных уровней [7], математическая модель журнала изменений и критерий его оптимизации [2]

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения и одного приложения, изложенных на 121 странице, списка литературы из 87 наименований Работа проиллюстрирована 25 рисунками и содержит 19 таблиц

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

В первой главе проводится обзор свойств и механизмов распределенных систем управления базами данных (РСУБД), рассматривается перечень принципов создания распределенных систем, классифицируются нарушения целостности различных уровней

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

Исследуются основные способы распространения данных интенсивный (синхронный) и инертный (асинхронный) способы синхронизации данных в распределенных системах Выявляются их достоинства и недостатки Определяются основные правила распространения данных, на основании которых можно определить необходимый способ непротиворечивость (первой и второй степени) и сводимость данных

Приводятся способы транспортировки данных для синхронизации передача данных по электронной почте, по FTP и через прямое соединение, их достоинства и недостатки Рассматривается принцип разделения данных, как метод повышения надежности функционирования распределенной системы баз данных (РСБД), и способы его реализации с помощью горизонтальной и вертикальной фильтрации

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

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

Выясняются причины возникновения конфликтов, перечисляются используемые в большинстве СУБД варианты их разрешения и особенности использования Проводится анализ нарушений, возникающих при использовании асинхронного тиражирования данных и не приводящих к конфликтам Такие нарушения целостности классифицируются на

- нарушения целостности уровня перехода,

- уровня сущности,

- уровня ссылочной целостности,

- уровня базы данных

Рассматриваются предлагаемые разработчиками систем репликации методы разрешения таких нарушений целосшисти

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

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

Рассматривается назначение данных, передаваемых между узлами РСБД, и приводится их классификация Данные информационной системы удобно разделить на следующие классы реалий справочную информацию, первичные данные - данные документов, влияющие на количественные или качественные изменения объектов учета в информационной системе, и отчетные формы - документы, агрегирующие первичные данные и использующиеся в качестве объектов учета в информационной системе

Далее предлагается метод организации асинхронной репликации данных, который заключается в выделении из массы таблиц групп, описывающих объекты, которые будут подлежать тиражированию Такая группа таблиц называется - типом объекта, а объектом называется обособленная совокупность записей в этих таблицах - экземпляр типа Тип объекта называется также объектом, если это не будет приводить к путанице (рис 1) Связь между таблицами производится по внешним ключам Дополнительно предлагается схема связывания объектов между собой, реализуемая аналогично В случае присутствия между объектами репликации связи при выгрузке изменений подчиненный объект будет выгружаться вместе с главным

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

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

Рис 1 Структура объекта

Предлагается схема проектирования данных репликации с помощью разбиения процесса проектирования на два уровня концептуального и логического проектирования, на каждом их которых происходит моделирование своих структур данных Данные разбиваются на уровни, репликация - это полный набор данных, передаваемый между узлами распределенной базы данных, реплика - это выделенный по определенным правилам набор данных, объект - это минимальный элемент концептуального уровня системы репликации (одна таблица или их группа, описывающая реалию на логическом уровне) Таблица и запись в этой структуре идентичны своим понятиям в системе базы данных (рис 2) Проектирование асинхронной репликации методом выделения объектов проводится по этой схеме

Проектирование уровня репликации отвечает на вопросы о количестве узлов РСБД, реалиях, связях между ними и схемах тиражирования между узлами Проектирование уровня реплики отвечает на вопросы о составе реалий, входящих в реплику, перечне узлов и способе распространения данных реплики между ними (рис 3)

Справочники

1 Номенклатуры

2 Контрагенты

3 Подразделения

4 Банки

Рис 2 Уровни данных Рис 3 Концептуальная модель реплики

Логическое проектирование уровня объекта описывает таблицы, составляющие объект, связи между ними и режимы работы с объектами, определяемые из способов распространения (табл 1)

Таблица 1

Режимы передачи объекта

Режим передачи Описание режима

For_replication (FR) Отслеживаются все изменения объекта с целью последующей синхронизации с узлами РСБД

Read_only (RO) Этот режим предполагает блокировку всех изменений таблиц объекта

Send_once(SO) Объекты с этим режимом отсылаются, пока не выполнится определенное правило и не принимаются из других узлов

Get once (GO) Объекты с этим режимом принимаются, пока не выполнится определенное правило и не высылаются на другие узлы

Not for replication (NR) Объект не подлежит синхронизации

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

i акие режимы являются вариантом вертикальной фильтрации, поскольку после выполнения условия поля таблиц могут иметь различные значения Горизонтальная фильтрация задается при описании объекта условиями, накладываемыми на таблицы объектов

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

Object_Count - количество различных экземпляров объектов в РСБД,

N - количество узлов РСБД,

TPS - количество транзакций в секунду на узле,

С - множество изменений для таблиц, порождаемых транзакцией, в рамках традиционной репликации,

1 - мощность множества С,

Disconnected_Time - продолжительность отсоединения узла от остальных

Приблизительное количество изменений, которые должны будут отосланы на другие узлы при начале сеанса обмена

In_updates ~ Disconnected_Time х TPS х 1 (1)

Поскольку каждый узел производит такое количество изменений, то количество принимаемый изменений на одном узле приблизительно равно

Out_updates « (N - 1) х Disconnected_Time х TPS х i (2)

Вероятность того, что изменение попадает в оба множества, а значит, понадобится согласование, с учетом (1) и (2) рассчитывается по формуле

In_updates х Out_updates

Р (collision)«------------=

Object_count

2

^ -1) х (Disconnected time х TPS х i) ^

Object_count

Формула (3) показывает вероятность того, что при сеансе обмена согласования понадобятся для одного узла Общее число согласований, которое может возникнуть в системе с использованием традиционной асинхронной репликации, можно вычислить по формуле

N

ReconciliationRate = P (collision) x -------- =

Disconnected_time

2

(N -1) x Disconnected time x (TPS xi)

= -—--------------- (4)

Object_count

Пусть С'— множество изменений для объектов, порождаемых транзакцией, в рамках репликации с выделенными объектами Обозначим его мощность через j Поскольку объект представляет собой совокупность таблиц, то введение в модель репликации объектов действует как функции

fn С —> С', f„ (сь ,сО=с'ш,

где п - число объектов, ш < п, (сь , Cj,) CI С, 1 < k < i, c'm G С'

А значит, согласно формуле (4) число согласований для репликации с выделенными объектами будет равно

ReconciliationRate^ =

2

(N -1) х Disconnected_time х (TPS х j) Objectcount

Выберем произвольное число к такое, что ck G С Тогда найдется такое подмножество (cs, ,ck) CC,s < k < 1и такая функция fn, что

f„(cs, , ck) =c'm , где C^ G С'

Следовательно

Reconciliation_Rate, = Reconciliation_Ratej

Таким образом, асинхронная репликация с выделением объектов не увеличивает уровень числа согласований в РСБД

Выберем произвольные шип такие, что сго £ Ст и сп € Сп, т Ф п -изменения таблиц на узлах шип соответственно Предположим, что при репликации данных эти изменения приводят к нарушениям целостности Для выбранных тип найдутся такие подмножества (ck, , ст) С Ст, к < т < im и (cs, , сп) CZ Cn, s < n < in и такие функции fm и fn, что

fm (Сь , О = с'т , где с'т 6 С'т ,f„ (с,, , сп) = с'„ , где c'n G С'п

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

котором с'т и с'п - изменения одного и того же экземпляра объекта на узлах ш и п, то в результате сеанса репликации данных произойдет конфликт изменений, который будет разрешен

Второй случай - с'т и с'п изменения экземпляров различных объектов В этом случае система позволяет свести этот вариант к первому, через изменение схемы реплицируемых данных путем добавления связей между такими объектами

Третий вариант - это случай, когда с'п и С^ являются изменениями различных экземпляров одного и того же типа объекта Предлагаемый метод асинхронной репликации также позволяет решить этот вопрос на уровне настройки схемы репликации данных установлением связи объекта самим с собой

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

Рассматривается структура, позволяющая отразить в себе каждую манипуляцию над объектом, которая будет называться журналом изменений Рассматривается состав данных журнала (табл 2)

Таблица 2

Структура журнала изменений

Имя столбца Тип данных Описание

Код строки Целый Идентификатор сроки журнала

Код типа объекта Целый Идентификатор типа

Код_узла Целый Идентификатор узла

Код_объекта Целый Идентификатор экземпляра объекта

Событие Символьный Идентификатор действия

Пользователь Строковый Имя пользователя системы, вызвавшего событие

Дата действия Дата и время Системное время события

Номер репликации Целый Порядковый номер репликации

В качестве способа фиксации изменений выбран механизм триггеров, для которых приводятся требования к реализации

I Приводится информационная структура журнала изменений, представляемая парой вида

{.I, Р}, где J = {(1, о, к, а, g)} - множество записей журнала изменений, состоящее из пятерок вида о, к, а, в которой I -время фиксации действия пользователя, о - идентификатор типа объекта, к - идентификатор объекта, а - действие пользователя, g -номер репликации,

Р - функция оптимизации журнала изменений

Множество записей журнала можно представить как объединение двух подмножеств I = Б ^ С,

где Б = {0, о, к, а, а = '(!'} - множество записей об удалении объектов,

С = {(1, о, к, а, а = '1'} - множество записей о вставке или изменении объектов Введем множество Сгаах по формуле С™* = {{0, о, к, а, а = 'Г, I = шах (0 по четверкам (о, к, а, £)}

Множество Стах состоит из записей об изменении объектов с максимальным временем изменения Введем функцию Р на журнале изменений

Б (I, о, к, а, = (о, к) Тогда задача оптимизации журнала изменений заключается в исключении записей с 6 С журнала изменений, удовлетворяющих следующему критерию оптимальности

"сеС^ ,

_3 (с! е О) р (с!) = Р (с)]

Рассматриваются алгоритмы работы системы тиражирования асинхронным методом, для решения возникающих задач разрабатывается протокол асинхронного тиражирования, приводится его алгоритм работы

Журнал изменений механизма фиксации предполагает хранение всех изменений объектов, произведенных на локальном узле Для обеспечения надежности доставки зафиксированных в журнале изменений система асинхронной репликации должна производить выгрузку объектов до получения подтверждений всех узлов системы об успешной загрузке объектов Также асинхронный характер репликации не накладывает ограничений на упорядоченность получения локальным узлом РСБД изменений данных от удаленных узлов системы Поэтому для контроля

загрузки неактуальных изменений необходимо иметь возможность на принимающем изменения узле отличать поколения изменений объектов Записи журнала изменений необходимо удалять только после получения от всех удаленных узлов подтверждения о безошибочной обработке изменений объекта Этот механизм получения подтверждений может быть организован с помощью журнала результатов загрузки данных, который необходимо передавать на удаленные узлы при выгрузке данных измененных объектов Рассматривается структура журнала загрузки Приводится схема работы протокола асинхронного тиражирования (рис 4)

4 Фиксация результатов загрузки

Журнал загрузи!

4 Фиксация результатов загрузки

Журнал загрузки

Рис 4 Схема работы протокола асинхронного тиражирования

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

{I, 1,%!-}, где I = {(1, о, к, а, g)} - множество записей журнала

изменений, I = {(о, к, g)}XRXN= {(о, к, g, г, п)} - множество записей журнала загрузки, состоящее из пятерок вида (о, к, г, п) в которой о - идентификатор типа объекта, к - идентификатор объекта, g - номер репликации, г - результат загрузки, г € К = {'§', 'Ь'}, п - идентификатор узла РСБД, п £ N = {1, ,к}, к - количество узлов РСБД, ~ характеристическая функция для сокращения записей журнала изменений Введем множество Г

r = {(o,k,g) V(n sN)3(r e R)[r = 'g',(o,k,g,r,n) el]} и характеристическую функцию множества

= jl,(o,k,g)er, Xv [О, (о, k, g) € Г Введем функцию Р на журнале изменений Р (t, о, k, a, g) = (о, к, g)

Тогда удаление записи (t, о, к, a, g) £ J журнала изменений происходит при выполнении следующего условия

Xv (Р (t, о, к, a, g)) = 1

Для разрешения конфликта уникальности предлагается использовать разграничение диапазонов первичных ключей для каждого узла Такая схема предполагает два варианта решения Автоинкрементные поля таблиц начинают принимать значения с единицы, и шаг увеличения также равен единице Тогда первый вариант схемы предполагает разбиение домена поля на полуинтервалы и формула расчета значений автоинкрементного поля имеет вид F (N, 1), где N - номер узла РСБД, а 1

- это шаг увеличения Второй вариант предполагает формулу расчета значений автоинкрементного поля вида F (N, К), где N - номер узла РСБД, а К - максимально возможное количество узлов системы Рассмотрены также альтернативные варианты разрешения конфликта с помощью GUID-идентификаторов и составных ключей Приведены достоинства и недостатки всех перечисленных методов

Для разрешения нарушений целостности из-за конфликта времени выполнения операций применяется способ приведения к единому времени

- времени GMT (Greenwich Mean Time), или UTC (Universal Coordinated Time), что более предпочтительно, поскольку эти координаты времени используются многочисленными современными СУБД Такой метод ранее применялся только для записей журнала изменений и позволял избегать ошибок определения победителя конфликтов, если такие возникали Предлагается этот метод также применять ко всем полям с типом «дата и время» для таблиц, составляющих объекты репликации Таким образом, локальное время узла переводится в UTC время по формуле

Tutc =Т]о<:-п, (6)

где Tutc - время UTC, TIoc - локальное время, п - разность локального и UTC времен

Используя формулу (6), необходимо выгружать данные для тиражирования, приводя их к универсальному времени, и загружать на удаленные узлы, переводя по этой же формуле на местное время

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

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

Разрабатывается концептуальная модель структуры данных для репликации Описываются таблицы объекты репликации, таблицы объектов репликации, связи между объектами, столбцы связей, реплики, объекты, входящие в реплику, режимы передачи объектов реплики, узлы, приоритеты объектов, таблицы журналов Представлены ЕЯ - диаграммы В четвертой главе рассматриваются структурные элементы, функциональная модель и программная реализация системы репликации В рамках структурной схемы описываются алгоритмы для программной реализации

Система разбивается на четыре модуля настройки и управления, сбора и выгрузки данных, загрузки данных и работы с файлами (рис 5) Описывается структура модулей и их функционал

| БАЗА ДАННЫХ УЗЛА !

Модуль сбора и выгрузки данных Модуль настро(йки и управления

Триггеры Пр оцедур а выгрузки Справочники j Настройки доступа SQL-скрипты J Расписание сеансов | связи 1

• 1

Модуль загрузи данных > Модуль работь^ с файлами

Проверка ссылочной целостности Пр оце дур а з агрузки Определение статуса ВСР j Архивация данных \ Работа с \ электронной ! почтой

Рис 5 Структура программного обеспечения

14

Так, основной задачей модуля настройки и управления при проектировании репликации является описание схемы данных На ее основе система автоматически формирует для объектов методы их обработки триггеры для таблиц объектов, БСЛ^-скрипты выгрузки и загрузки самих объектов и связанных с ними, проверки ссылочной целостности и другие Для методов слежения предложены шаблоны триггеров для главной и подчиненных таблиц объектов при различных режимах передачи объектов Модуль сбора и выгрузки данных реализует алгоритмы подготовки журнала изменений к выгрузке обеспечивается оптимизация журнала изменений на основе критерия оптимальности, производится пополнение журнала связанными объектами Модуль загрузки решает задачи синхронизации схемы репликации, удаления записей локального журнала изменений, обработки входящего журнала изменений для разрешения конфликтов синхронизации, задачи по непосредственной загрузке данных, формированию журналов загрузки На модуль работы с файлами ложатся задачи по формированию файла с выгрузкой данных из промежуточных таблиц, доставке и отправке файлов выгрузок по электронной почте, архивации данных

Приводится функциональная схема системы, смоделированная с помощью диаграмм потоков данных

/ Фиксация изменений > ХД1

1 Затек журнала Журнал измене ний

изменений

Изменения даккых

Подготоигенкые к отгфмхе данкые

Выгрузка ванных

Узел РСБД

Запсос >а жыгрузиу

Схема данных репликации

* Загрузка

а данных

Измененный намсые

Запрос хв перегибу

Затфос га 1Ю лучение

Формирование, прием к передача ф&шюв

Данные о струюур^ таблиц

Получении» файл

Настройка и уравнение

Отращенный файл

Почтовый кпиекг

Рис 6 Диаграмма потоков данных системы асинхронной репликации

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

Разработанное на основе структурной и функциональной схем программное обеспечение реализовано в виде самостоятельной программной системы на платформе PowerBuilder 9 0 Далее приводится описание методов функционирования программного обеспечения Для работы с системой на компьютере пользователя необходимо наличие операционной системы MS Windows 2000/ХР, MS Windows Server 2000/2003, процессора Intel Pentium II 500 МГц и выше, оперативной памяти 256 Мбайт и выше, жесткого диска с объемом свободного пространства не менее 50 Мбайт

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

1 На основе проведенного анализа основных проблем асинхронного тиражирования данных выявлена необходимость дальнейшего повышения эффективности функционирования асинхронных систем репликации

2 Проведена классификация нарушений целостности различных уровней в реляционных СУБД, обеспечивающая учет всех возможных уровней целостности

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

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

! 5 Построена концептуальная модель описания схемы данных репликации, основывающаяся на разработанном методе выделения и связывания объектов и учитывающая все классы реалий РСБД

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

7 Теоретические и практические результаты работы внедрены в деятельность ООО «ГЕЛА Информационные технологии и консалтинг» и реализованы в виде программной системы проектирования и проведения асинхронной репликации реляционных СУБД, что подтверждается соответствующим актом

Основные результаты диссертации опубликованы в следующих работах:

Публикации в изданиях, рекомендованных ВАК РФ

1 Апанасевич ДА О механизме объектной репликации между двумя базами данных / ДА Апанасевич, В Г Юрасов // Вестник Воронежского государственного технического университета - 2007 Т 3 №12 - С 23-24

2 Апанасевич ДА О механизме фиксации изменений в системе репликации данных на основе выделения объектов /ДА Апанасевич, В Г Юрасов // Вестник Воронежского государственного технического университета -2008 Т4 №1 -С 18-20

3 Апанасевич Д А Концептуальная и логическая модели проектирования репликации данных с выделением объектов /ДА Апанасевич // Вестник Воронежского государственного технического университета -2008 Т4 №2 -С31-34

4 Апанасевич Д А Целостность и непротиворечивость данных РСБД с асинхронной репликацией методом выделения объектов /ДА Апанасевич // Вестник Воронежского государственного технического университета - 2008 Т 4 №6 - С 26-27

5 Апанасевич Д А Модели данных и структурная модель системы асинхронной репликации с выделением объектов / ДА Апанасевич // Вестник Воронежского государственного технического университета -2008 Т.4 №6 - С 78-79

Статьи и материалы конференций

6 Апанасевич Д А Выбор метода распространения данных /ДА Апанасевич // Высокие технологии в технике, медицине, экономике и образовании межвуз сб науч тр Воронеж ВГТУ, 2006 - С 284-287

7 Апанасевич Д А Принципы и практические аспекты построения корпоративных информационных систем /ДА Апанасевич, В Г Юрасов // Телематика'2007 труды XIV Всерос науч -метод конф СПб СПбГУ ИТМО, 2007 Т2 -С 281-283

8 Апанасевич ДА О способе построения однонаправленной репликации между двумя базами данных /ДА Апанасевич, В Г Юрасов // Телематика'2007 труды XIV Всерос науч -метод конф СПб СПбГУ ИТМО, 2007 Т2 -С 285-288

Подписано в печать 26 09 2008 Формат 60 X 84/16 Бумага для множительных аппаратов Уел печ л 1,0 Тираж 90 экз Заказ №

ГОУ ВПО «Воронежский государственный технический университет» 394026 Воронеж, Московский просп 14

/

Оглавление автор диссертации — кандидата технических наук Апанасевич, Дмитрий Александрович

ВВЕДЕНИЕ.

1. АНАЛИЗ СУЩЕСТВУЮЩИХ СИСТЕМ РЕПЛИКАЦИИ РЕЛЯЦИОННЫХ СУБД И СПОСОБОВ СИНХРОНИЗАЦИИ ДАННЫХ В НИХ.

1.1. Принципы создания распределенных систем.

1.2. Средства определения и фиксации изменений данных.

1 \ ) >

1.3. Способы распространения изменений между узлами РСБД.

1.4. Репликация данных и основные проблемы асинхронного тиражирования.

Цели работы и задачи исследования.

2. РАЗРАБОТКА СХЕМЫ ПРОЕКТИРОВАНИЯ, МЕТОДА ВЫДЕЛЕНИЯ И СВЯЗЫВАНИЯ ОБЪЕКТОВ И ОЦЕНКА ЭФФЕКТИВНОСТИ ЕГО ПРИМЕНЕНИЯ В АСИНХРОННОЙ РЕПЛИКАЦИИ.

2.1. Разработка метода выделения и связывания объектов и схемы проектирования асинхронной репликации.

2.2. Число согласований асинхронной репликации с выделением объектов.

2.3. Целостность и непротиворечивость данных в РСБД с асинхронной репликацией.

2.4. Математическая модель информационного процесса репликации данных.

Выводы.

3. РАЗРАБОТКА АЛГОРИТМОВ, СТРУКТУР ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ И КОНЦЕПТУАЛЬНОЙ МОДЕЛИ ДАННЫХ СИСТЕМЫ АСИНХРОННОЙ РЕПЛИКАЦИИ НА ОСНОВЕ МЕТОДА ВЫДЕЛЕНИЯ ОБЪЕКТОВ.

3.1. Разработка журнала изменений и средств их фиксации.

3.2. Разработка протокола асинхронного тиражирования.

3.3. Алгоритмы разрешения конфликтов синхронизации.

3.4. Топология тиражирования в системе асинхронной репликации

3.5. Методы сокращения продолжительности блокировок.

3.6. Концептуальная модель схемы данных асинхронной репликации методом выделения объектов.

4. РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ АСИНХРОННОЙ РЕПЛИКАЦИИ ДАННЫХ РЕЛЯЦИОННЫХ СУБД МЕТОДОМ ВЫДЕЛЕНИЯ ОБЪЕКТОВ.

4.1. Модули и структурные элементы системы асинхронной репликации.

4.2. Функциональная модель системы асинхронной репликации

4.3. Программная реализация проектирования и проведения асинхронной репликации данных на основе метода выделения объектов.

Выводы.

Введение 2008 год, диссертация по информатике, вычислительной технике и управлению, Апанасевич, Дмитрий Александрович

Актуальность темы:

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

Мобильность пользователя для таких систем характеризуется, прежде всего, отсутствием постоянного канала связи с ним. В этих случаях для обеспечения локальной независимости узла распределенной системы применяется асинхронное тиражирование данных, которое дает важное преимущество с технической и экономической точек зрения. Основная проблема распределенных систем с асинхронным тиражированием данных -соблюдение непротиворечивости и целостности данных, разрешение конфликтов согласования. И если для последних современные РСУБД предлагают способы автоматического разрешения, то для поддержки целостности базы данных разработчикам информационных систем предлагается самостоятельная разработка алгоритмов.

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

Работа выполнена в рамках одного из основных научных направлений ГОУ ВПО «Воронежский государственный технический университет» «Интеллектуализация процессов моделирования и оптимизации в автоматизированных и информационных системах» ГБ 04.04 научного направления «Интеллектуальные информационные системы».

Цели и задачи исследования:

Целью диссертационной работы является повышение эффективности функционирования асинхронной репликации реляционных СУБД за счет разработки методов и алгоритмов повышения уровня целостности данных в распределенных системах.

Для достижения поставленной цели необходимо решить следующие задачи:

1. Провести анализ принципов построения распределенных систем, современных методов определения и фиксации данных, средств обмена данными и основных проблем асинхронного тиражирования данных.

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

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

4. На основе полученных результатов разработать структуру специального программного обеспечения асинхронной репликации данных по методу выделения объектов, разработать программный продукт, реализующий асинхронное тиражирование данных в реляционных СУБД.

Методы исследования:

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

Научная новизна результатов исследования:

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

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

- метод выделения и связывания объектов для репликации в реляционных СУБД, основывающийся на группировке сущностей реалий и обеспечивающий сохранение уровня числа согласований, а также повышающий целостность данных; концептуальная модель описания схемы данных репликации, основывающаяся на разработанном методе выделения и связывания объектов и учитывающая все классы реалий РСБД;

- структура специального программного обеспечения, обеспечивающая настройку схемы данных и асинхронное тиражирование данных в реляционных СУБД и отличающаяся применением разработанного метода выделения и связывания объектов для репликации данных.

Практическая значимость и результаты внедрения:

Предложенный алгоритм асинхронной репликации данных реляционных СУБД, основанный на методе выделения и связывания объектов, повышает эффективность тиражирования данных, за счет автоматического контроля целостности данных, и, соответственно, снижает необходимость вмешательства администраторов информационных систем для разрешения нарушений целостности данных.

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

Теоретические и практические результаты работы внедрены в деятельность ООО «ГЕЛА. Информационные технологии и консалтинг» и реализованы в виде программной системы проектирования и проведения асинхронной репликации реляционных СУБД, о чем свидетельствует соответствующий акт внедрения.

Апробация работы;

Основные результаты работы были изложены на XIV Всероссийской научно-методической конференции Телематика'2007 (Санкт-Петербург, 2007), научно-технических конференциях профессорско-преподавательского состава, сотрудников, аспирантов и студентов ГОУ ВПО «Воронежский государственный технический университет» (2005-2008).

Публикации:

Основные результаты диссертационной работы изложены в восьми публикациях, в том числе 5 - в изданиях, рекомендованных ВАК РФ.

В работах, опубликованных в соавторстве, лично соискателю принадлежит метод выделения и связывания объектов в реляционной СУБД [6], [7], классификация основных проблем асинхронного тиражирования и нарушений целостности различных уровней [8], математическая модель журнала изменений и критерий его оптимизации [9].

Структура и объем работы:

Диссертация состоит из введения, четырех глав, заключения и одного приложения, изложенных на 120 страницах машинописного текста, списка

Заключение диссертация на тему "Математическое и программное обеспечение асинхронной репликации данных реляционных СУБД методом выделения объектов"

Выводы

1. В главе с алгоритмической и прикладной стороны рассмотрено практическое применение рассмотренного в предыдущих главах метода выделения и связывания объектов для асинхронного тиражирования.

2. Предложена структура и функционал модулей реализующих предлагаемый функционал системы.

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

4. Построена функциональная модель системы асинхронной репликации реляционных СУБД и разработано описание функционирования системы на различных уровнях с помощью диаграмм потоков данных.

5. На основе разработанной структурной и функциональной моделей разработано специальное программное обеспечение, обеспечивающее настройку схемы данных и проведение асинхронной репликации данных реляционных СУБД.

Заключение

Целью диссертационной работы является повышение эффективности функционирования асинхронной репликации реляционных СУБД за счет разработки методов и алгоритмов повышения уровня целостности данных в распределенных системах.

В работе получены следующие основные результаты:

1. На основе проведенного анализа основных проблем асинхронного тиражирования данных выявлена необходимость дальнейшего повышения эффективности функционирования асинхронных систем репликации.

2. Проведена классификация нарушений целостности различных уровней в реляционных СУБД, обеспечивающая учет всех возможных уровней целостности.

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

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

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

6. Теоретические и практические результаты работы внедрены в деятельность ООО «ГЕЛА. Информационные технологии и консалтинг» и реализованы в виде программной системы проектирования и проведения асинхронной репликации реляционных СУБД, что подтверждается соответствующим актом.

Библиография Апанасевич, Дмитрий Александрович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Андерсон Р. Тестируем соединители MAPI для Microsoft Outlook // Сети и системы связи. 2003. - №12. - С.56-63.

2. Апанасееич Д. А. Выбор метода распространения данных // Высокие технологии в технике, медицине, экономике и образовании. Воронеж, 2006. -С.284-287.

3. Апанасееич ДА. Концептуальная и логическая модели проектирования репликации данных с выделением объектов // Вестник Воронежского государственного технического университета. 2008. — №2. - С.31-34.

4. Апанасееич Д. А. Модели данных и структурная модель системы асинхронной репликации с выделением объектов // Вестник Воронежского государственного технического университета. 2008. - №6. - С.78-79.

5. Апанасееич ДА. Целостность и непротиворечивость данных РСБД с асинхронной репликацией методом выделения объектов // Вестник Воронежского государственного технического университета. 2008. - №6. — С.26-27.

6. Апанасееич Д.А., Юрасое В.Г. О способе построения однонаправленной репликации между двумя базами данных // Труды XIV Всероссийский научно-методической конференции Телематика'2007. Том 2. Секции D,E. -С.285-288.

7. Апанасееич ДА., Юрасов В.Г. О механизме объектной репликации между двумя базами данных // Вестник Воронежского государственного технического университета. 2007. - №12. - С.23-24.

8. Апанасееич ДА., Юрасов В.Г. Принципы и практические аспекты построения корпоративных информационных систем // Труды XIV Всероссийский научно-методической конференции Телематика'2007. Том 2. Секции D,E. С.281-283.

9. Апанасевич Д.А., Юрасов В.Г. О механизме фиксации изменений в системе репликации данных на основе выделения объектов // Вестник Воронежского государственного технического университета. 2008. - №1. - С. 18-20.

10. А.Вендрое A.M. CASE-технологии. Современные методы и средства проектирования информационных систем http://case-tech.hl.ru/library/vendrov/index.htm.

11. Гагин А. Сервисы Интернет: практическое рассмотрение. // Jet Info. 1996. №7. - http://www.computer-museum.ru/technlgy/ji96071.htm.18 .Гарсиа-Молина Г., Ульман Д., УидомД. Системы управления базами данных. -М.: Вильяме, 2003. 1088 с.

12. Гейн К., Сарсон Т. Системный структурный анализ: средства и методы.-М., Научно-техническое предприятие ЭЙТЕКС, 1992. 274 с.

13. Грей Дж. Управление данными: прошлое настоящее и будущее // Системы управления базами данных. 1998. -№3. - С.20-21.21,Дейт, К., Дж. Введение в системы баз данных, 7-е издание. : Пер. с англ. — М.: Издательский дом «Вильяме», 2001. — 1072 с.

14. Диго С.М. Базы данных: проектирование и использование. Учебник. М.: Финансы и статистика, 2005 - 592 с.

15. Дубова Н. Все про промежуточное ПО // Открытые системы. 1999. №07-08.

16. Дюбуа П. MySQL: Уч. пос. Пер. с англ. М. : Издательский дом «Вильяме», 2001.-816 с.

17. Еникеева А., Хромов А. Технологии синхронизации для мобильных и встроенных вычислений. // КомпьютерПресс. 2001. №5.

18. Кайт Т. Oracle для профессионалов. Пер. с англ. СПб.: ООО «ДиаСофтЮП», 2003. — 672 с.

19. Калагиян А.Н., Каляное Г.Н. Структурные модели бизнеса: DFD-технологии.- М.: Финансы и статистика, 2003. 256 с.

20. Каляное Г.Н. CASE. Структурный системный анализ (автоматизация и применение). М., "Лори", 1996. 224 с.

21. Колмогоров А.Н. Основные понятия теории вероятностей. 3-е изд. - М.: ФАЗИС, 1998.-129 с.

22. Корбинский Н.Е., Трахтенброт Б.А. Введение в теорию конечных автоматов- М.: Физматгиз, 1962. 404 с.

23. Куратовский К, Мостовский А. Теория множеств. Пер. с англ. М.И. Кратко; Под. Ред. А.Д. Тайманова М.: Изд-во «Мир», 1970 - 409 с.

24. Ладыженский Г.М. Технология "клиент-сервер" и мониторы транзакций // Открытые системы. 1994. - №3. - http://www.osp.ru/os/1994/03/178494/. Ладыженский Г. М. Базы данных: коротко о главном. - М.: НИИСИ РАН,2000.-114 с.

25. Маклаков С.В. BP win и ERwin. CASE средства разработки информационных систем - М.: «Диалог - МИФИ», 2000. - 256 с.

26. Мамаев Е., Шкарина Л. Microsoft SQL Server 200 для профессионалов. -СПб.: Питер, 2001. 1088 с.

27. Марков А. С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник. М.: Финансы и статистика, 2004. - 512 с.

28. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 2-е изд. Спб.: Питер, 2004. - 864 с.

29. Пейдж, Вильям, Дж., и др. Использование Oralce 8TM/8i ТМ. Специальное издание.: Пер. с англ. М.: Издательский дом «Вильяме», 1999. - 1024с.

30. Райордан Р. Основы реляционных баз данных.: Пер. с англ. М.: Издательско-торговый дом «Русская Редакция», 2001. - 384 с.

31. Сергеев И.В. Программное и математическое обеспечение системы репликации данных СУБД независимых платформ: дис. канд. технич. наук. М.: 2003.-128 с.

32. Силин А.В. Исследование и разработка моделей распределенных баз данных информационных систем корпоративного типа: дис. канд. технич. наук. М.: 2002. -134 с.

33. Ситников А.А. Моделирование процесса репликации данных в СУБД по сокращенному журналу // Информатика и системы управления. 2005. - № 2. - С.3-13.

34. Солдатов C.JI. Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами: дис. канд. технич. наук. М.: 2005. 116 с.

35. ЪЪ.Тамер Оззу М., Валдуриз П. Распределенные и параллельные системы баз данных // Системы Управления Базами Данных. 1996. №4. - С. 4-26.

36. Таненбаум Э., Ван Стеен М. Распределенные системы. Принципы и парадигмы СПб.: Питер, 2003. - 877 с.

37. Тенцер А. База данных — хранилище объектов // КомпьютерПресс. 2001. №8. - http://www.compress.ru/article.aspx?id=l 1515&iid=452.

38. Топорец А.Ю. Проектирование корпоративных информационных систем класса ERP для управления сетью территориально распределенных филиалов: дис. канд. технич. наук. М.: 2003. 119 с.

39. Фадеев А. Ю. Моделирование и исследование распределенной системы хранения данных на основе TCP/IP: дис. канд. технич. наук. М.: 2003. — 112 с.

40. Alex Gorelik, Yongdong Wang, MarkDeppe. Sybase Replication Server//ACM SIGMOD. 1994. №2. -P.469.

41. Date C. J. "What is a Distributed Database System, Part I" // The Relational Journal.- 1987.-№1.

42. Date C. J. "What is a Distributed Database System, Part II" // The Relational Journal. 1987.-№1.

43. Fernando Pedone, Rachid Guerraoui, Andre Schiper. Exploiting Atomic

44. Peter Pin-Shan Chen. The entity-relationship model—toward a unified view of data // ACM Transactions on Database Systems (TODS). 1976. №1. - Pp.9-36.

45. Thompson, Charles. Database Replication // DBMS. 1997. - №5, Vol 10.

46. Wiesmann M., Pedone F., Schiper A., Kemme В., Alonso G. Understanding replication in databases and distributed systems // Distributed Computing Systems. 2000. - Pp.464-474.

47. Yasushi Saito, Marc Shapiro. Optimistic replication // ACM Computing Surveys (CSUR). 2005.№ 1. - Pp.42-81.

48. Consistent Data Replication: Is it feasible in WANs? // Europar Conf., Lisbon (Portugal), August 2005. Pp. 633-643.86.7шм Huang, Prasad Sistla, Ouri Wolfson. Data replication for mobile computer // ACM SIGMOD. 1994. - №2. - Pp.13-24.

49. Yuri Breitbart, Henry F. Korth. Replication and Consistency: Being Lazy Helps Sometimes // Proceedings of the sixteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems. Pp.173-184.