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