САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Математико-механический факультет Кафедра системного программирования

advertisement
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Математико-механический факультет
Кафедра системного программирования
Наговицына Полина Александровна
Создание сервиса синхронизации разнородных баз
данных
Допущена к защите
зав. кафедрой:
д.ф.м.н., профессор Терехов А.Н.
Научный руководитель:
доцент Графеева Н.Г.
Рецензент:
_____________________________
Предпосылки
 Увеличиваются объемы информации,
которые необходимо хранить в базах
данных (распределение нагрузки
между несколькими серверами)
 Развитие технологий: переход от
старых к более новым
 Необходимость одновременного
доступа к данным нескольких
пользователей
Задача
Необходимо создать приложение,
обеспечивающее синхронизацию
связанных между собой
разнородных баз данных, одна из
которых Progress.
В данной работе рассмотрены
 MySQL
 MS SQL Server
Готовое программное
обеспечение
 Progress® DataXtend™ Replication Edition - инструменты
синхронизации и репликации
 Progress® DataXtend® Semantic Integrator –
синхронизация разнородных распределенных данных
(Oracle)
 DBTyP.NET 2008 - анализ, сравнение и синхронизация
схем и содержимого баз данных (MS SQL Server, Oracle,
MySQL)
 DBSync – набор продуктов для синхронизации
конкретных пар разнородных баз данных (Access &
MySQL, FoxPro & MS SQL Server, Access & MS SQL
Server)
Проблема: отсутствует доступное средство
перманентной синхронизации содержимого для БД
Progress и иной БД.
Описание решения
Тип синхронизации:
 Мультинаправленная (изменения могут
происходить с обеих сторон)
 Асинхронная (обновление одной записи
распространяется на другие спустя
некоторое время, а не в той же
транзакции)
 Репликация отдельных транзакций
 Синхронизация в реальном
времени/синхронизация по требованию
Описание решения
Трудности
 Отслеживание
добавления/изменения/удаления
данных в каждой копии данных
 Объективная модификация каких-либо
счетчиков
 Дублирование данных по логам
 Разные базы данных поддерживают
разные диалекты языка SQL
Результаты
Создан сервис синхронизации данных
для следующих типов баз:
 Progress
 MySQL
 MS SQL Server
Есть возможность расширения данного
списка.
Download