Научная статья на тему 'МИГРАЦИЯ СУЩЕСТВУЮЩЕЙ БАЗЫ ДАННЫХ REDMINE С MYSQL НА POSTGRESQL'

МИГРАЦИЯ СУЩЕСТВУЮЩЕЙ БАЗЫ ДАННЫХ REDMINE С MYSQL НА POSTGRESQL Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
159
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗЫ ДАННЫХ / МИГРАЦИЯ / REDMINE / OPEN-SOURCE / ПЕРЕНОС СЕРВИСОВ / БИЗНЕС-СИСТЕМЫ / ИНФОРМАЦИЯ / DATABASES / MIGRATION / SERVICES MIGRATION / BUSINESS SYSTEMS / INFORMATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Трофимова С.С.

В статье рассмотрена проблема хранения и обработки информации на примере баз данных, особенно актуальная в современных условиях для любого предприятия. Поэтому в работе описан процесс миграции открытого серверного веб-приложения «Redmine» для управления проектами и задачами из базы данных MySQL в базу данных PostgreSQL. Рассмотрены параметры настройки, связанные с миграцией. Приведены возможные ошибки и способы их устранения при тестировании. Был сделан вывод о том, что миграция базы данных влияет на эффективность работы компании, на качество обмена и предоставления информации в связи с возможностью ее расширения.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MIGRATE AN EXISTING REDMINE DATABASE FROM MYSQL TO POSTGRESQL

The article deals with the problem of storage and processing of information on the example of databases, especially relevant in modern conditions for any enterprise. Therefore, the paper describes the process of migration of open server web application "Redmine" for project and task management from MySQL database to PostgreSQL database. The settings related to migration are discussed. Possible errors and ways of their elimination at testing are given. It was concluded that the migration of the database affects the efficiency of the company, the quality of exchange and provision of information in connection with the possibility of its expansion.

Текст научной работы на тему «МИГРАЦИЯ СУЩЕСТВУЮЩЕЙ БАЗЫ ДАННЫХ REDMINE С MYSQL НА POSTGRESQL»

УДК 004.4

Трофимова С. С. студент магистратуры 2 курса «Волгоградский государственный университет» научный руководитель: Григорьева Е.Г., к.ф-м.н.

доцент

кафедра «Компьютерных наук и экспериментальной

математики»

"Волгоградский государственный университет "

РФ, г. Волгоград

МИГРАЦИЯ СУЩЕСТВУЮЩЕЙ БАЗЫ ДАННЫХ REDMINE С

MYSQL НА POSTGRESQL Аннотация: В статье рассмотрена проблема хранения и обработки информации на примере баз данных, особенно актуальная в современных условиях для любого предприятия. Поэтому в работе описан процесс миграции открытого серверного веб-приложения «Redmine» для управления проектами и задачами из базы данных MySQL в базу данных PostgreSQL. Рассмотрены параметры настройки, связанные с миграцией. Приведены возможные ошибки и способы их устранения при тестировании. Был сделан вывод о том, что миграция базы данных влияет на эффективность работы компании, на качество обмена и предоставления информации в связи с возможностью ее расширения.

Ключевые слова: базы данных, миграция, redmine, open-source, перенос сервисов, бизнес-системы, информация

Trofimova S.S., 2styear master student "Volgogradstate University", Volgograd, Russia

Supervisor: Grigorieva E. G.

Ph. D., associate Professor of computer science and experimental

mathematics» "Volgogradstate University" Volgograd, Russia MIGRATE AN EXISTING REDMINE DATABASE FROM MYSQL

TO POSTGRESQL Abstract: The article deals with the problem of storage and processing of information on the example of databases, especially relevant in modern conditions for any enterprise. Therefore, the paper describes the process of migration of open server web application "Redmine" for project and task management from MySQL database to PostgreSQL database. The settings related to migration are discussed. Possible errors and ways of their elimination at testing are given. It was concluded that the migration of the database affects the efficiency of the company, the quality of exchange and provision of information in connection with the possibility of its expansion.

Keywords: databases, migration, redmine, open-source, services migration, business systems, information

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

В данной работе была поставлена задача переноса веб -приложения Redmine172 со средним объемом информации с серверов MySQL на PostgreSQL в размере 21 мб.

Redmine - это открытое веб-приложение, основной задачей которого является управление проектами и задачами173. Используется малым и крупным бизнесом для автоматизации обслуживания клиентов. Приложение может выполнять функции «фронт-офиса» для всей ИТ-организации, являться центром приема всех жалоб и предложений, осуществлять контроль текущего состояния сервисов.

На операционную систему «Ubuntu 16.04.1», была установлена программа Redmine 3.4.4, а также прилагаемые к ней пакеты и модули: Nginx как прокси к passenger, который отвечает за обработку и показ информации. В качестве базы данных Redmine изначально используется сервер MySQL 5.7.22.

Была взята структура БД Redmine и наполнена информацией. База данных состоит из 56 таблиц, 69 последовательностей. Основные таблицы -это документы, проекты, адреса электронной почты, группы пользователей, вопросы, сообщения, новости, роли, настройки, пользователи, версии, страницы вики, задачи и другие.

Данные были сконструированы на основе созданного проекта «Дипломная работа» и задачами в веб-приложении Redmine, представлено на рисунке 1.

171 Системы управления базами [Электронный ресурс]. - Режим доступа: https://studfiles.net/preview/5656655/

172 Перенос Redmine с MySQL на PostgreSQL [Электронный ресурс]. - Режим доступа: https://kurazhov.ru/redmine-mysql-to-postgresql/

173 Lesyuk, A. Mastering Redmine / Andriy Lesyuk.- Birmingham B3 2PB, UK, 2016. - 25 p.

Дипломная работа

- Обзор Действия <jf| Задачи Трудозатраты Диаграмма Ганта Календарь Новости Документы Wild Файлы

Улучшение #3

Отчет по дипломной работе

Добавил(а) Redmine Admin 21 минуты назад. Обновлено 12 минуты назад.

Статус;

Приоритет: Назначена:

Новая Срочный Redmine Admin

Описание

Предоставить отчет по работе к 27.122018 Подзадачи

Улучшение #4: Описание функционала БД Redmine Связанные задачи

f Редактировать ^ Трудозатраты Следить ЦЦц Копировать 0 Удалить

* Предыдущее 3/3 | Следующее »

Дата начала: 23.12.2018

Срок завершения: 23.12.2013

Готовность: 100%

Оценка временных затрат: 24.00 ч (Всего: 27.00 ч) Трудозатраты: (Всего: 3.00 ч)

ф Цитировать

Redmine Admin

' Редактировать ^ Трудозатраты „ Следить Щ Копировать @ Удалить

Экспортировать в 0 Atom | PDF

Рисунок 1 - Интерфейс redmine с отражением задач по проекту

«Дипломная работа»

С помощью инструмента загрузки данных для PostgreSQL pgloader можно было бы перенести содержимое базы данных полностью в автоматическом режиме, воссоздавая необходимые таблицы, индексы и внешние ключи. Но этот подход не самый лучший, потому что в дальнейшем могут возникнуть непредвиденные проблемы при работе приложения или в процессе миграции на его более свежие версии. В основном могут встретиться проблемы, такие как переработка кода вручную: удаление двойных кавычек вокруг имён полей, пустых строк и удаление некоторых запросов. Также могут возникнуть ошибки с зависимостью сборки версий pgloader. Для каждой версии Ubuntu разрешается работать с помощью определенного набора пакетов, другие пакеты могут не подойти. Для решения ошибок придется осваивать нетривиальные в поддержке и эксплуатации инструменты.

После поиска подходящего и работающего инструмента миграции была выбрана утилита «py-mysql2pgsql». Этот инструмент позволяет брать данные с сервера MySQL174 и записывать файл дампа, совместимый с PostgresSQL (8.2 или выше). В файле прописаны настройки миграции серверов MySQL и Postgres - порт, пользователь, имя хоста и базы данных, а также прописаны пути для осуществления миграции. Для использования данного инструмента необходимо установить сервер. Чтобы осуществить миграцию, нужно установить сервер PostgreSQL 9.5, зависимости «Python 2.6», библиотеки «libpq-dev» и изменить конфигурационные файлы. Была проведена успешная миграции на простых типах данных размером 21 Мб за 2 минуты. Также с помощью тестирования с разными типами, объемами данных были выявлены

174 Джоунс, Э. Функции SQL. Справочник программиста: Пер. с англ. / Э. Джоунс, Р. Стивенз, Р. Плю.- М. : ООО "И.Д. Вильямс" , 2007.-768 c.587

проблемы миграции с версиями, apt-get устанавливает старую версию pip, которая ведёт к проблемам. Эта версия не поддерживает миграцию сложных типов, например, видео и анимацию. Решением проблемы стало обновление установки python с 2.6 до 2.7 с последующей переустановкой py-mysql2pgsql.

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

Перенесены данные из исходной базы без потерь;

Сохранена функциональность;

Получена новая БД, которая содержит те же данные и функционально соответствует исходной, показано на рисунке 2.

С itf ® myredmine.info/admin/info

0 - О ù

^ Your Firefox is critically out of date. An update is required to stay secure. Update Now

iii\ m =

Learn More X

Домашняя страница Моя страница Проекты Администрир! »ванне Помощь

Redmine Поиск: ^^В

Информация

ЛеЛтше 3.4.>ШаЫе

Учётная запись администратора по умолчании Хранилище файлов доступно для записи Каталог ресурсов модулей доступен для записи (./риЬПс/р1ид1п_а55ев} Доступно использование ГЗМадюк (опционально) Доступно использование 1тадеМад1ск (необязательно)

Environment : Redmine version Ruby version Rails version Environment Database adapter SCM: Git

Filesystem Redmine plugins: r edmin e_aut o_per с ent redmine_drafts

3.4.4.stable

2.3.1-pll2 (2Э16-94-26) [x86_64-linux-gnu]

4.2.S

production

PostgreSQL

2.7.4

9.0.1 9.2.9

Администрирование

^ Проекты & Пользователи & Группы

(j^a Роли и права доступа ¿1 Трекеры

Статусы задач ^ Последовательность действий Настраиваемые поля Списки значений Настройки £> Авторизация с помощью LDAP Jt Модули

МШтаН'Ш

Рисунок 2 - успешная миграция с MySQL в PostgreSQL Использованные источники:

1. Системы управления базами [Электронный ресурс]. - Режим доступа: https://studfiles.net/preview/5656655/

2. Перенос Redmine с MySQL на PostgreSQL [Электронный ресурс]. - Режим доступа: https://kurazhov.ru/redmine-mysql-to-postgresql/

3. Lesyuk, A. Mastering Redmine / Andriy Lesyuk.- Birmingham B3 2PB, UK, 2016.- 344 p.

4. Джоунс, Э. Функции SQL. Справочник программиста: Пер. с англ. / Э. Джоунс, Р. Стивенз, Р. Плю.- М. : ООО "И.Д. Вильямс" , 2007.-768 c.

i Надоели баннеры? Вы всегда можете отключить рекламу.