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

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

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

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

Степанов Андрей Михайлович

РАЗРАБОТКА МЕТОДОВ И СРЕДСТВ ДИНАМИЧЕСКОЙ

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

Специальность 05.13.06 - Автоматизация и управление технологическими процессами и производствами

Автореферат

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

Москва - 2006 г.

государственного института электронной техники (технического университета)

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

Каратыгин Сергей Анатолиевич

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

Гагарина Лариса Геннадиевна

кандидат технических наук Скоробутов Александр Юрьевич

Ведущая организация: Закрытое акционерное общество

«ФОРС - Центр разработки», г. Москва

Защита диссертации состоится «£]_» 2006 г. в Й'уЬО

часов на заседании диссертационного совета Д.212.134.04 при Московском государственном институте электронной техники (техническом университете) по адресу: 124498, г. Москва, Зеленоград, МИЭТ.

С диссертацией можно ознакомиться в библиотеке МИЭТ. Автореферат разослан « /^ 2006 г.

Соискатель

Ученый секретарь

диссертационного совета

доктор технических наук, профессор

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Автоматизация технологических процессов и управление производством на основе современных программно-аппаратных комплексов составляет одно из главных направлений научно-технического прогресса. Создание на научной основе автоматизированных систем управления технологическими процессами (АСУ ТП), их интеграция в единую систему сбора и обработки данных и оперативного управления повышает качество и эффективность всех звеньев управления производством в народном хозяйстве.

Задача построения распределенных систем не является новой, поэтому на текущий момент существует большое количество теоретических исследований, а также практически реализованных программных средств, позволяющих осуществлять построение распределенных БД и систем управления ими. Значительный вклад в развитие теории БД и создание эффективных СУБД внесли К. Дейт, Э.Ф. Кодд, Д. Кренке, М.Р. Когаловский, Л.А. Калиниченко. Теории и практике автоматизированных распределенных систем посвящены труды С.Д. Кузнецова, Е.М. Бениаминова, В.В. Кульбы, С.С. Ковалевского, С.А. Косяченко, В.О. Сиротюка, Н.Д. Дубового, A.C. Бондаревского.

При создании распределенных АСУ ТП возникает задача по реализации автоматического обмена между удаленными базами данных (БД). На текущий момент многие реляционные системы управления базами данных (СУБД) поддерживают репликацию данных.

Несмотря на разнообразие средств репликации, они обладают следующими недостатками:

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

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

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

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

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

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

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

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

Научная новизна работы состоит в разработке моделей, методов и алгоритмов динамической объектной репликации, позволяющих увеличить гибкость управления распределенными АСУ ТП, а также повысить уровень непротиворечивости данных за счет применения объектно-ориентированного подхода. В ходе выполнения диссертационной работы получен ряд новых научных результатов. При этом разработаны:

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

а также сокращает среднее время настройки правил обмена сложного объекта в 5-12 раз.

• Метод наследования классов, позволяющий снизить избыточность описания структуры хранимых данных в среднем в 2-3 раза.

• Метод реализации объектной FIFO непротиворечивости, основанный на графовом представлении данных, повышающий непротиворечивость данных по сравнению с FIFO непротиворечивостью репликации отдельных кортежей или транзакций.

• Алгоритмы динамической маршрутизации для произвольного перенаправления информационных потоков в зависимости от состояния хранимых данных.

• Алгоритм разрешения конфликтов одновременного изменения информации, предоставляющий повышенные гарантии непротиворечивости данных.

• Алгоритм пакетного обмена для выборки, записи, шифрования и сжатия информации, обеспечивающий снижение сетевого обмена на 60%.

Практическая значимость результатов работы заключается в использовании разработанной модели, методов и алгоритмов в АСУ ТП компании ЗАО «Таймырская топливная компания». Система объединяет предприятия компании, расположенные в Москве, Красноярском крае, Норильском промышленном районе и на Кольском полуострове. Применение полученных результатов позволило реформировать товаропроводящую сеть за счет организации единого информационного пространства для всех предприятий компании. Унификация документооборота и информационная поддержка бизнес-процессов привели к повышению уровня логистического сервиса, снижению страховых запасов топлива на 10-15%. Уровень операционных затрат понижен на 5-10%, при этом время настройки репликации в 5-12 раз меньше времени, затрачиваемого при использовании стандартных средств администрирования СУБД. Перечисленные результаты получены в отсутствие высоких требований к качеству каналов связи, что особенно критично при использовании комплекса в условиях Крайнего Севера. Кроме того, результаты работы использованы в научно-исследовательской работе МИЭТ.

Достоверность полученных результатов подтверждается хорошим совпадением теоретически рассчитанных и практически полученных результатов, а также успешной промышленной

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

Личный вклад автора. Все основные результаты получены автором лично. Главными из них являются:

• Графовая модель представления данных реляционной БД в виде объектов.

• Метод наследования классов.

• Метод реализации объектной FIFO непротиворечивости, основанный на графовом представлении данных.

• Алгоритмы динамической маршрутизации.

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

• Алгоритм пакетного обмена.

• Практическая реализация методов и средств динамической объектной репликации в промышленной распределенной АСУ ТП ЗАО «Таймырская топливная компания».

Автор диссертации принимал активное участие в разработке документации, методики испытаний и проведении установочных и сопроводительных работ в местах эксплуатации АСУ ТП ЗАО «Таймырская топливная компания».

Внедрение результатов работы. Разработанные в ходе выполнения диссертационной работы методы и средства внедрены в АСУ ТП ЗАО «Таймырская топливная компания», что позволило снизить уровень требуемых страховых запасов топлива на 10-15% и уменьшить операционные затраты на 5-10%. Результаты работы также использованы в научно-исследовательской работе МИЭТ в рамках договора на разработку модулей автоматизированной информационной системы учета движения материальных ценностей № 2157 от 01.09.2001.

На защиту выносятся:

1. Графовая модель представления объектов реляционной БД.

2. Метод наследования классов реплицируемых данных.

3. Метод реализации объектной FIFO непротиворечивости.

4. Алгоритмы динамической объектной репликации, реализующие предложенные в работе методы.

5. Результаты экспериментальных исследований и промышленного внедрения результатов работы.

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

Всероссийских межвузовских научно-технических конференциях студентов и аспирантов «Микроэлектроника и информатика» (г. Москва, Зеленоград, Московский институт электронной техники), международной научно-технической конференции «Электроника и информатика 2002» (г. Москва, Зеленоград, Московский институт электронной техники) и международной научно-технической конференции «Новые информационные технологии и системы 2006» (г. Пенза, Пензенский государственный университет). Доклад на 13-й Всероссийской межвузовской научно-технической конференции студентов и аспирантов «Микроэлектроника и информатика - 2006» отмечен дипломом 1-й степени по секции «Автоматизированные информационные системы».

Публикации. Основное содержание диссертационной работы отражено в 10 работах, в том числе в 5 статьях и 5 тезисах докладов на Всероссийских конференциях.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения и списка литературы. Содержит 154 страницы машинописного текста, 26 страниц с рисунками и таблицами, список литературы из 82 наименований.

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

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

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

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

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

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

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

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

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

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

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

Система репликации объединяет множество различных БД В={В{}, образуя таким образом единую распределенную БД (РБД). РБД содержит множество логических объектов О, каждый из которых может быть представлен в виде локальной копии на произвольном подмножестве БД В0с В, Каждая БД связана ровно с одним сервером репликации, отвечающим за обмен информации между данной БД и остальными. Обмен информацией между серверами ведется посредством сообщений, отправляемых по сети. Задержка передачи

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

Разрабатываемая система репликации разделена на два уровня -базовый и транспортный. Основные задачи базового уровня:

• Обработка изменения объектов. Включает в себя определение момента изменения объектов, а также копирование их кортежей;

• Маршрутизация - определение множества БД, на которых следует создать или удалить локальные копии объектов;

• Поддержка непротиворечивости данных. Гарантирует совпадение локальных копий одного и того же объекта на всех БД. Основная задача транспортного уровня - обеспечение надежной

передачи данных.

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

К=(А,Е,Ра>. (2.1)

где А - множество узлов, каждый из которых содержит в себе ровно одно отношение Л, е Лб<э;

Е - множество ограничений на узлы из А: Е={(х.у.р) \ х,у е А; р е Р}\ Р - множество предикатов, ограничивающих набор кортежей из отношений в вершинах ребер: Р={Фу —>{0,1}}',

р0 - предикат, ограничивающий принадлежность кортежа корневого отношения к классу К: р0:К0—>{0,1}\

Я0 - корневое отношение, удовлетворяющее условию \tRjG А, Уре Р

(К,Яо,р)ёЕ.

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

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

вводится понятие наследования классов, аналогичное наследованию, применяемому в объектно-ориентированном программировании. Ключевое отличие предлагаемого понятия ог существующих аналогов заключается в его формулировке в терминах классов реляционных БД, описываемых определением (2.1).

£2={Л2,Е2,ро2} является дочерним классом класса К1^{А1,Е1,р01} (соответственно, К] является родительским или базовым для К2), если А1^А2, ЕгсЕ2 и ро2=Ро1^р\ где рУ- произвольный предикат. При этом корневое отношение в обоих классах совпадает. Наследование позволяет выделять общие части классов в один базовый, что приводит к упрощению настройки системы. Класс К} и дочерний класс К2 можно изобразить в виде одного графа (рис. 2.1).

Рис. 2.1. Наследуемые классы

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

Объектом, принадлежащим классу К=(А,Е,ро) с корневым отношением Ко, назовем множество кортежей

Т={г\ге Щ где ^еА}. (2.2)

Каждый элемент из Т удовлетворяет условиям связи отношений:

\/г{еК{где Ш0Зг^Щгде Ще Т: (2.3)

Ые11оРо(г)=1. (2.4)

При этом множество Т содержит ровно один кортеж из корневого отношения и является наибольшим из всех множеств, содержащих этот

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

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

Маршрутом доставки объекта назовем множество

М = {(х.у)\хе В,уе {0,1}}. (2.5)

Маршрут представляет собой список БД, в которые передается данный объект, вместе с признаком его аннулированности. Для реализации маршрутизации приложение должно предоставить функцию маршрутизац и и

Р:0-+В$, (2.6)

где О - множество всех объектов;

В^{х\хсВ} - множество произвольных подмножеств БД. Функция маршрутизации не определяет готовый маршрут - она возвращает только список БД, в которые необходимо передать объект в актуальном состоянии. Функция Т*1 должна быть детерминированной, т.е. удовлетворять условию к=] => Р(к)=Р(}). Иными словами, список БД-получателей объекта вычисляют только на основании данных этого объекта, и никаких других. Вычисляя ¥(к) для каждого реплицируемого объекта к система репликации определяет маршрут его передачи.

Ситуация, при которой на момент проведения обмена объект к должен быть скопирован в БД В1,...,Вп и удален из БД Вп+1,...,Вп+т

Р(к)={В1,В2.....Вп}

М={(В1,1),(В2,1).....(Вп,1),(Вп+1,0).....(Вп+т,0)}

Рис. 2.2. Функция маршрутизации и маршрут

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

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

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

Третья глава посвящена практической реализации модели и методов динамической объектной репликации.

Рис. 3.1. Архитектура системы репликации

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

• Отслеживание изменения только корневых кортежей.

• Просмотр дерева классов в направлении снизу вверх - от изменяемого до корневого кортежа.

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

Выборка объектов производится алгоритмом обработки кортежей объекта, принадлежащего произвольному классу К. Предполагается, что для каждого объекта корневой кортеж Я0 известен. Алгоритм обработки является рекурсивным, начиная с корневого кортежа г0е Я0. Схема алгоритма приведена на рис. 3.2.

Выборка объекта с кортежа гд отношения Я0

Выбрать множество кортежей Т, удовлетворяющих условиям (2.3) и (2.4) Т={г\гф, где Я£А, (Н0,Я,Р(Яо,Я)КЕ,р(г0г)=1}

Есть не обработанные кортежи в Г? ^Да

Выбрать и

1

Выбрать объект с кортежа г, отношения Я,-

I —

Конец ^

Рис. 3.2. Схема алгоритма обработки кортежей

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

• На основании общего веса измененных объектов;

• Равномерное переключение с фиксированной временной задержкой;

• Комбинированный подход, учитывающий вес объектов и время последнего переключения пакета.

Алгоритмы динамической маршрутизации определяют последовательность шагов для получения маршрута объектов с помощью введенной в модель функции маршрутизации F. В соответствии с определением маршрут можно представить в виде М={(х,1)\х е Br} uf(x, 0)\х е Вс}, где Br=F(j) - множество получателей объекта j в актуальном состоянии;

Вс - множество серверов, которым следует передать указание на аннулирование объекта j.

Предложено два различных алгоритма вычисления множества Вс\

• Алгоритм маршрутизации с сохранением истории рассылки: при каждом n-ом сеансе обмена для отправляемого объекта производится сохранение множества серверов Мп=Вг, на которые он будет отправлен в актуальном состоянии. При вычислении маршрута (п+1)-го пакета полагается Bc=Afn\Br (Мо=0).

• Алгоритм маршрутизации без сохранения истории рассылки: непосредственно перед изменением объекта j вычисляется M0=F(j), после изменения j вычисляется Mi=F(j). Далее производится вычисление Bc=M0\Mi.

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

С целью обеспечения FIFO непротиворечивости и устранения избыточности настройки правил репликации введем понятие владельца объекта, т.е. БД, в которой объект был создан первоначально. Предполагается, что каждый объект содержит в себе сведения о своем владельце. Для реализации протокола первичной копии производится модификация функции маршрутизации следующим образом: если владельцем объекта j является БД и изменение локальной копии произведено в БД B^Bj, то F(f)={BJ, в противном случае F вычисляется в соответствии с приведенными ранее правилами. Кроме того, при актуализации в БД-владельце Bj локальной копии, полученной от

сервера БД В&В^ необходимо отправлять эту копию остальным БД согласно маршруту объекта.

Актуализация включает в себя следующие процедуры:

1. Обработка конфликтов одновременного изменения данных и нарушения порядка передачи обновлений.

2. Копирование данных из полученных пакетов.

3. Обработка нарушений целостности ссылок.

Транспортный уровень репликации производит выборку

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

Поскольку буферы репликации содержат в себе данные множества пакетов, необходим признак отличия пакетов по виду выполняемых с ними действий. В качестве такого признака вводится состояние пакета. Набор состояний отличается для отправляемых и принимаемых данных (рис. 3.3).

Подготовка

Отправитель:

Отправка

Получатель

Подготовлен V*-( Новый

Подтверждение получения

Отправлен )-ы Получен

Актуализация

Заполнен 1-►( Актуализирован ) ( Ошибочный

Ошибка при актуализации

Рис. 3.3. Состояния репликационных пакетов

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

В четвертой главе представлены результаты экспериментального исследования разработанной в работе графовой модели и методов динамической объектной репликации.

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

ЛФ=Ле-™ (4.1)

Таким образом, СУБД производит обработку интенсивного пуассоновского потока заявок на чтение и запись данных. При расчетах предполагается нормальное распределение измеряемых величин. Проверка этой гипотезы производится с помощью критерия Лиллиефорса с уровнем значимости 5%. Далее вычисляем доверительный интервал Т, в котором находится математическое ожидание МХ измеряемой величины X:

Т = (Х-е,Х + е), (4-2)

п ы

Я , (4.4)

V"

Т^Г~~Г7 (4.5)

где п - количество измерении; X,- i-e измерение:

ta,n-i - обратное распределение Стьюдента с (п-1) степенью свободы;

1 - а- мера надежности.

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

Наибольшая частота пользовательских транзакций записи;

Время подготовки данных,

Время актуализация данных (рис. 4.1);

Время формирования отправляемых данных;

Время запись полученных данных в БД.

500 1000 1500 2000 2500 Количество объектов

Рис. 4.1. Результаты моделирования актуализации данных

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

0.05.секунд. Наиболее эффективной процедурой является запись данных в БД - 0,01 секунды на каждый объект. По сравнению со средством Oracle Advanced Replication, входящим в состав СУБД Oracle, обработка данных разработанной системой репликации производится на 20% дольше, что связано со сложным процессом вычисления маршрута и необходимостью обеспечения объектной непротиворечивости.

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

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

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

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

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

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

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

5. Разработан метод реализации объектной FIFO непротиворечивости, повышающий непротиворечивость данных по сравнению с FIFO непротиворечивостью репликации отдельных кортежей или транзакций.

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

7. Выполнена практическая реализация программного комплекса на основе предложенных в работе методов и средств для ОС Windows 2000 с использованием СУБД Oracle. Наряду с основными алгоритмам репликации реализовано сжатие и шифрование передаваемых по сети данных, что позволило уменьшить их объем на 60%.

8. В ходе проведения экспериментальных исследований подтверждена эффективность разработанных методов и алгоритмов.

9. Результаты работы внедрены в АСУ ТП ЗАО «Таймырская топливная компания», которая объединяет предприятия компании, расположенные в Москве, Красноярском крае, Норильском промышленном районе и на Кольском полуострове. Внедрение результатов работы позволило снизить уровень требуемых страховых запасов топлива на 10-15% и уменьшить операционные затраты на 5-10%. Кроме того, результаты работы использованы в научно-исследовательской работе МИЭТ.

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

РЕЗУЛЬТАТЫ ДИССЕРТАЦИИ ОПУБЛИКОВАНЫ В СЛЕДУЮЩИХ РАБОТАХ:

1. Каратыгин С. А., Степанов A.M. Построение подсистемы автоматической отправки данных в системе межсерверного обмена // Межвузовский сборник «информатика и управление» под ред. Бархоткина. - М.: МИЭТ, 2005 .- с. 203-208.

2. Каратыгин С.А., Степанов A.M. Построение подсистемы автоматического приема данных в системе межсерверного обмена // Оборонный комплекс - научно-техническому прогрессу России.

- М.: ФГУП "ВИМИ", 2005. - №4. - с. 52-55.

3. Каратыгин С. А. Степанов A.M. Современные средства репликации баз данных // Вестник компьютерных и информационных технологий. - М. .Машиностроение, 2006. -№2.

- с. 52-56.

4. Каратыгин С. А. Степанов A.M. Построение и обработка деревьев сущностей реляционных баз данных // Оборонный комплекс -научно-техническому прогрессу России. - М.: ФГУП "ВИМИ", 2006.-№1.-с. 14-17.

5. Степанов A.M. Обработка нарушения целостности ссылок в подсистеме автоматической загрузки данных распределенной информационной системы // Вестник компьютерных и информационных технологий. - М. .Машиностроение, 2006. -№9. _ с. 44-48.

6. Волков Ю.И., Каратыгин С.А., Степанов А.М. Динамически настраиваемый межсерверный обмен данными в распределенной интегрированной информационной системе // Микроэлектроника и информатика - 2002. Девятая Всероссийская межвузовская научно-техническая конференция студентов и аспирантов: Тезисы докладов. - М.: МИЭТ, 2002. - с. 187.

7. Волков Ю.И., Каратыгин С.А., Степанов A.M. Подсистема транспортного обмена системы динамически настраиваемой репликации // Электроника и информатика - 2002. Четвертая

Международная научно-техническая конференция: Тезисы докладов. - М.: МИЭТ, 2002. - с. 248.

8. Степанов A.M. Анализ и оптимизация методов выгрузки-загрузки данных СУБД Oracle // Микроэлектроника и информатика - 2005. Двенадцатая Всероссийская межвузовская научно-техническая конференция студентов и аспирантов: Тезисы докладов. - М.: МИЭТ, 2005. - с.293.

9. Степанов A.M. Распространение обновлений в системе динамически настраиваемой репликации // Микроэлектроника и информатика - 2006. Тринадцатая Всероссийская межвузовская научно-техническая конференция студентов и аспирантов: Тезисы докладов. - М.: МИЭТ, 2006. - с.219.

10. Степанов A.M. Метод реализации объектной непротиворечивости репликации реляционных баз данных // Новые информационные технологии и системы - 2006. Седьмая Международная научно-техническая конференция. Тезисы докладов. - Пенза: ПТУ, 2006.

Подписано в печать:

Заказ Яа/^ Тираж^? экз. Уч.-изд.л.^^ Формат 60x84 1/16 Отпечатано в типографии МИЭТ (ТУ). 103498, Москва, МИЭТ (ТУ).

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

Введение.

1 Анализ предметной области.

1.1 Основы систем репликации.

1.2 Синхронная репликация.

1.2.1 Распределенная блокировка данных.

1.2.2 Распределенное подтверждение изменений.

1.3 Асинхронная репликация.

1.3.1 Условия непротиворечивости.

• 1.3.2 Протоколы непротиворечивости.

1.4 Практическая реализация репликации различными СУБД.

1.4.1 Объекты репликации.

1.4.2 Механизм определения множества передаваемых данных.

1.4.3 Фильтрация данных.

1.4.4 Синхронная и асинхронная репликация.

1.4.5 Разрешение конфликтов.

1.4.6 Гетерогенная репликация.

1.4.7 Требования к среде передачи информации.

1.4.8 Безопасность.

1.4.9 Дополнительные возможности репликации.

1.5 Выводы.

2 Формализация динамической объектной репликации.

2.1 Общая архитектура.

2.2 Графовая модель объектов.

2.3 Аннулирование объектов.

2.4 Маршрутизация.

2.5 Модель транзакций.

2.6 Непротиворечивость.

2.7 Выводы.

3 Практическая реализация репликации.

3.1 Определение изменения объекта.

3.2 Алгоритм обработки кортежей объекта.

3.3 Пакетная передача данных.

3.4 Алгоритмы маршрутизации.

3.4.1 Определение маршрута без сохранения истории рассылки.

3.4.2 Модифицированный алгоритм определения маршрута.

3.4.3 Построение функции маршрутизации с учетом наследования.

3.4.4 Протоколы аннулирования объекта.

3.4.5 Протокол первичной копии.

3.5 Алгоритмы актуализации.

3.5.1 Обработка конфликтов.

3.5.2 Копирование объекта из буферов репликации в БД.

3.5.3 Обработка нарушения целостности ссылок.

3.6 Алгоритмы транспортировки.

3.6.1 Формирование сообщений транспортного уровня.

3.6.2 Надежная доставка данных.

3.6.3 Очистка репликационных таблиц.

3.7 Программная реализация репликации.

3.7.1 Реализация базовой части.

3.7.2 Реализация транспортной части.

3.8 Выводы.

4 Экспериментальное исследование разработанной модели и методов.

4.1 Конфигурация тестируемой системы.

4.2 Система моделирования нагрузки.

4.3 Настройки системы репликации.

4.4 Проведение измерений.

4.4.1 Замедление пользовательских транзакций записи.

4.4.2 Подготовка данных.

4.4.3 Актуализация данных.

4.4.4 Формирование отправляемых данных.

4.4.5 Запись полученных данных в БД.

4.5 Выводы.

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

Автоматизация технологических процессов и управление производством на основе современных программно-аппаратных комплексов составляет одно из главных направлений научно-технического прогресса. Создание на научной основе автоматизированных систем управления технологическими процессами (АСУ ТП), их интеграция в единую систему сбора и обработки данных и оперативного управления повышает качество и эффективность всех звеньев управления производством в народном хозяйстве.

Задача построения распределенных систем не является новой, поэтому на текущий момент существует большое количество теоретических исследований, а также практически реализованных программных средств, позволяющих осуществлять построение распределенных БД и систем управления ими. Значительный вклад в развитие теории БД и создание эффективных СУБД внесли К. Дейт, Э.Ф. Кодд, Д. Кренке, М.Р. Когаловский, JI.A. Калиниченко. Теории и практике автоматизированных распределенных систем посвящены труды С.Д. Кузнецова, Е.М. Бениаминова, В.В. Кульбы, С.С. Ковалевского, С.А. Косяченко, В.О. Сиротюка, Н.Д. Дубового, А.С. Бондаревского.

При создании распределенных АСУ ТП возникает задача по реализации автоматического обмена между удаленными базами данных (БД). На текущий момент многие реляционные системы управления базами данных (СУБД) поддерживают репликацию данных.

Несмотря на разнообразие средств репликации, они обладают следующими недостатками:

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

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

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

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

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

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

Научная новизна работы состоит в разработке моделей, методов и алгоритмов динамической объектной репликации, позволяющих увеличить гибкость управления распределенными АСУ ТП, а также повысить уровень непротиворечивости данных за счет применения объектно-ориентированного подхода. В ходе выполнения диссертационной работы получен ряд новых научных результатов. При этом разработаны:

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

• Метод наследования классов, позволяющий снизить избыточность описания структуры хранимых данных в среднем в 2-3 раза.

• Метод реализации объектной FIFO непротиворечивости, основанный на графовом представлении данных, повышающий непротиворечивость данных по сравнению с FIFO непротиворечивостью репликации отдельных кортежей или транзакций.

• Алгоритмы динамической маршрутизации для произвольного перенаправления информационных потоков в зависимости от состояния хранимых данных.

• Алгоритм разрешения конфликтов одновременного изменения информации, предоставляющий повышенные гарантии непротиворечивости данных.

• Алгоритм пакетного обмена для выборки, записи, шифрования и сжатия информации, обеспечивающий снижение сетевого обмена на 60%. Практическая значимость результатов работы заключается в использовании разработанной модели, методов и алгоритмов в АСУ ТП компании ЗАО

Таймырская топливная компания». Система объединяет предприятия компании, расположенные в Москве, Красноярском крае, Норильском промышленном районе и на Кольском полуострове. Применение полученных результатов позволило реформировать товаропроводящую сеть за счет организации единого информационного пространства для всех предприятий компании. Унификация документооборота и информационная поддержка бизнес-процессов привели к повышению уровня логистического сервиса, снижению страховых запасов топлива на 10-15%. Уровень операционных затрат понижен на 5-10%, при этом время настройки репликации в 5-12 раз меньше времени, затрачиваемого при использовании стандартных средств администрирования СУБД. Перечисленные результаты получены в отсутствие высоких требований к качеству каналов связи, что особенно критично при использовании комплекса в условиях Крайнего Севера. Кроме того, результаты работы использованы в научно-исследовательской работе МИЭТ.

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

Личный вклад автора. Все основные результаты получены автором лично. Главными из них являются:

• Графовая модель представления данных реляционной БД в виде объектов.

• Метод наследования классов.

• Метод реализации объектной FIFO непротиворечивости, основанный на графовом представлении данных.

• Алгоритмы динамической маршрутизации.

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

• Алгоритм пакетного обмена.

• Практическая реализация методов и средств динамической объектной репликации в промышленной распределенной АСУ ТП ЗАО «Таймырская топливная компания».

Автор диссертации принимал активное участие в разработке документации, методики испытаний и проведении установочных и сопроводительных работ в местах эксплуатации АСУ ТП ЗАО «Таймырская топливная компания».

Внедрение результатов работы. Разработанные в ходе выполнения диссертационной работы методы и средства внедрены в АСУ ТП ЗАО «Таймырская топливная компания», что позволило снизить уровень требуемых страховых запасов топлива на 10-15% и уменьшить операционные затраты на 510%. Результаты работы также использованы в научно-исследовательской работе МИЭТ в рамках договора на разработку модулей автоматизированной информационной системы учета движения материальных ценностей № 2157 от 01.09.2001.

На защиту выносятся:

1. Графовая модель представления объектов реляционной БД.

2. Метод наследования классов реплицируемых данных.

3. Метод реализации объектной FIFO непротиворечивости.

4. Алгоритмы динамической объектной репликации, реализующие предложенные в работе методы.

5. Результаты экспериментальных исследований и промышленного внедрения результатов работы.

Апробация работы. Основные положения и результаты диссертационной работы докладывались и обсуждались на трех Всероссийских межвузовских научно-технических конференциях студентов и аспирантов «Микроэлектроника и информатика» (г. Москва, Зеленоград, Московский институт электронной техники), международной научно-технической конференции «Электроника и информатика 2002» (г. Москва, Зеленоград, Московский институт электронной техники) и международной научно-технической конференции «Новые информационные технологии и системы 2006» (г. Пенза, Пензенский государственный университет). Доклад на 13-й Всероссийской межвузовской научно-технической конференции студентов и аспирантов «Микроэлектроника и информатика - 2006» отмечен дипломом 1-й степени по секции «Автоматизированные информационные системы».

Публикации. Основное содержание диссертационной работы отражено в 10 работах, в том числе в 5 статьях и 5 тезисах докладов на Всероссийских конференциях.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения и списка литературы. Содержит 154 страницы машинописного текста, 26 страниц с рисунками и таблицами, список литературы из 82 наименований.

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

9. Результаты работы внедрены в АСУ ТП ЗАО «Таймырская топливная компания», которая объединяет предприятия компании, расположенные в Москве, Красноярском крае, Норильском промышленном районе и на Кольском полуострове. Внедрение результатов работы позволило снизить уровень требуемых страховых запасов топлива на 10-15% и уменьшить операционные затраты на 5-10%. Кроме того, результаты работы использованы в научно-исследовательской работе МИЭТ.

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

Заключение

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

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

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

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

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

5. Разработан метод реализации объектной FIFO непротиворечивости, повышающий непротиворечивость данных по сравнению с FIFO непротиворечивостью репликации отдельных кортежей или транзакций.

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

7. Выполнена практическая реализация программного комплекса на основе предложенных в работе методов и средств для ОС Windows 2000 с использованием СУБД Oracle. Наряду с основными алгоритмами репликации реализовано сжатие и шифрование передаваемых по сети данных, что позволило уменьшить их объем на 60%.

8. В ходе проведения экспериментальных исследований подтверждена эффективность разработанных методов и алгоритмов.

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

1. Аншина М., Цимбал А. Технологии создания распределенных систем. -СПб.: Питер, 2002.-576 с.

2. Атре Ш. Структурный подход к организации баз данных. М.: Финансы и статистика, 1983. - 320 с.

3. Ахтырченко К.В., Леонтьев В.В. Распределенные объектные технологии в информационных системах // СУБД. 1997 .- №5. - с. 24-28.

4. Беренсон X., Бернштейн Ф., Грэй Д. Критика уровней изолированности в стандарте ANSI SQL // СУБД. 1996. - №2. - с.45-60.

5. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. М.: Финансы и статистика, 1989. - 351 с.

6. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд. / Пер. С англ. М.: Бином, 1999 560 с.

7. Галицкий А. В., Рябко С. Д., Шаньгин В. Ф. Защита информации в сети. Анализ технологий и синтез решений. М.-ДМК Пресс, 2004 г. - 616 с.

8. Дейт К. Дж. Введение в СУБД. М.: изд. дом Вильяме, 2001. - 1072 с.

9. Домашев А.В., Попов В.О., Правиков Д.И. Программирование алгоритмов защиты информации. Учебное пособие. М.: «Нолидж», 2000. - 288 с

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

11. Каратыгин С.А., Степанов A.M. Построение подсистемы автоматической отправки данных в системе межсерверного обмена // Межвузовский сборник «информатика и управление» под ред. В.А. Бархоткина. М.: МИЭТ, 2005 .с. 203-208.

12. Каратыгин С.А., Степанов A.M. Построение подсистемы автоматического приема данных в системе межсерверного обмена // Оборонный комплекс -научно-техническому прогрессу России. М.: ФГУП "ВИМИ", 2005. - №4. -с. 52-55.

13. Каратыгин С.А. Степанов A.M. Современные средства репликации баз данных // Вестник компьютерных и информационных технологий. -М. Машиностроение, 2006. №2. - с. 52-56.

14. Каратыгин С.А. Степанов A.M. Построение и обработка деревьев сущностей реляционных баз данных // Оборонный комплекс научно-техническому прогрессу России. - М.: ФГУП "ВИМИ", 2006. -№1. - с. 14-17.

15. Кузнецов С.Д. Стандарты языка реляционных баз данных SQL: краткий обзор // СУБД. 1996. - №2. - с. 6-36.

16. Кузнецов С.Д. Операционные системы для управления базами данных // СУБД. 1996. -№3. - с. 95-102.

17. Кузнецов С.Д. Дубликаты, неопределенные значения, первичные и возможные ключи и другие экзотические прелести языка SQL //СУБД. -1997. -№3.- с. 77-80.

18. Ладыженский Г.М. Системы управления базами данных коротко о главном //СУБД.- 1995.-№1,2,3,4.

19. Луковенко А., Фаритов А. Практическая репликация // Открытые системы. -2001.-№ 12.-с. 26-28.

20. Мартин Д. Планирование развития автоматизированных систем. М.: Финансы и статистика, 1984. - 196 с.

21. Мейер М. Теория реляционных баз данных. М.: Мир, 1987. - 608 с.

22. Нагао М., Катаяма Т., Уэмура С. Структуры и базы данных. М.: Мир, 1986. -197 с.

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

24. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях / Под ред. В.Ф. Шаньгина. М.: Радио и связь, 1999.-328 с

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

26. Таненбаум Э. Современные операционные системы. 2-е изд. СПб.: Питер, 2005.- 1038 с.

27. Тиори Т., Фрай Д. Проектирование структур баз данных. В 2 кн., М.: Мир, 1985. Кн. 1.-287 е.: Кн. 2.-320 с.

28. Чаудхари С. Методы оптимизации запросов в реляционных системах // СУБД. 1998. - №3. - с. 22-36.

29. Янчук А.В. Репликация. Технология синхронизации распределенных баз данных. Казань: «Современные Технологии», 1999.34