Научная статья на тему 'Миграция базы данных'

Миграция базы данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
571
114
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МИГРАЦИЯ / БАЗА ДАННЫХ / ПРИЛОЖЕНИЕ / SQL / MIGRATION / DATABASE / APPLICATION

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Чернова Е. В.

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

DATABASE MIGRATION

The article describes the most popular systems of database migration Flyway and LiquiBase, as well as the necessity for using migrations.

Текст научной работы на тему «Миграция базы данных»

Таблица 3 - Прочность цементного камня на различных сроках и условиях твердения.

Образец Прочность на сжатие, МПа

Естественное твердение Пропаривание

3 сутки 28 сутки 1 сутки 28 сутки

Контрольный 43,8 52,7 42,4 56,1

С добавкой 37,4 95,0 61,2,5 109,4

Из таблицы 3 видно, что добавка на ранних сроках твердения (3 сутки) оказывает замедляющие влияние на твердение по сравнению с контрольным образцом на 14,6 %. Однако на 28 сутки естественного твердения прочность образцов с добавкой превосходит контрольный образец (образец без добавки) на 80 % и составляет 95,0 МПа, тогда, как контрольный образец имеет прочность около 52,7 МПа.

На следующие сутки в формах после укладки цементного теста осуществляли пропаривание образцов в камере пропарочной КПУ - 1М. Пропаривание проводили в следующих режимах: первый - набор температуры до 70 °С в течение 3 часов, второй -поддержание постоянной температуры в течение 4 часов, третий - снижение температуры до комнатной в течение 17 часов. Прочность цементного камня на сжатие определяли испытанием 3 образцов-кубиков. Результат рассчитывали по двум наибольшим показателям прочности на сжатие.

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

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

Литература

1. Киреева, Ю.И. Строительные материалы и изделия [Текст] / Ю.И. Киреева, О.В. Лазаренко - Ростов н/Д: Феникс, 2010. -348 с.

2. Ратинов, В.Б. Добавки в бетон [Текст] / В.Б.Ратинов, Т.И. Розенберг- М.: Стройиздат, 1989. - 188 с.

References

1. Kireeva, Ju.I. Stroitel'nye materialy i izdelija [Tekst] / Ju.I. Kireeva, O.V. Lazarenko - Rostov n/D: Feniks, 2010. - 348 s.

2. Ratinov, V.B. Dobavki v beton [Tekst] / V.B.Ratinov, T.I. Rozenberg- M.: Strojizdat, 1989. - 188 s.

Чернова Е.В.

Студент,

Оренбургский государственный университет МИГРАЦИЯ БАЗЫ ДАННЫХ

Аннотация

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

Ключевые слова: миграция, база данных, SQL, приложение.

Chernova E.V.

Student,

Orenburg State University DATABASE MIGRATION

Abstract

The article describes the most popular systems of database migration - Flyway and LiquiBase, as well as the necessity for using migrations.

Keywords: migration, database, SQL, application.

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

Flyway поддерживает наиболее распространенные базы данных, такие как: Oracle, SQL Server, DB2, MySQL, PostgreSQL, HSQLDB, H2 и Derby. Миграции могут быть написаны на простом SQL или на Java и могут выполняться с помощью API, плагина для Maven, задачи для Ant или с помощью вызова через командную строку.

Flyway базируется на 6 основных командах: Migrate, Clean, Info, Validate, Baseline и Repair. Рассмотрим каждую из них подробнее.

Migrate (миграция) является центральной частью рабочего процесса Flyway. Данная команда сканирует файловую систему или ваш путь к классам (classpath) для доступных миграций, а затем сравнивает их с миграциями, которые были применены к базе данных. Если какое-либо различие будет найдено, то чтобы закрыть этот пробел произойдет мигрирование данных. Хорошей практикой является выполнение миграции при запуске приложения, чтобы избежать каких-либо несовместимостей между базой данных и работающем с этой базой кодом.

Clean (очистка) удаляет все объекты из сконфигурированной схемы базы данных. Данная возможность часто помогает во время разработки и тестирования приложения, когда вместо поиска различий между экземплярами баз данных на разных окружениях проще очистить нужный экземпляр и установить на него свежую версию базы данных. Важно помнить, что данную команду не рекомендуется использовать на production (боевом) окружении.

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

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

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

Repair (восстановление) помогает исправить проблемы с таблицами метаданных. Repair имеет два основных применения:

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

- Пересчет контрольных сумм примененной миграции и исходной миграции.

113

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

При использовании Liquibase изменения структуры базы данных хранятся в отдельных файлах (changelogs) и представляются в виде наборов изменений (changesets). Основным элементом файла changelog являются databaseChangeLog тэг, который может содержать в себе следующие суб-тэги: preConditions, property, changeSet, include. Когда происходит запуск миграции, Liquibase парсит databaseChangeLog тэг. Сначала проверяются предусловия, указанные в preConditions. Если каике-либо из предусловий не выпонены, Liquibase завершит работу, выведя сообщение о причинах своего завершения. Если все предусловия выполнены успешно Liquibase начинает выполнение инструкций, указанных в changeSet и include, в той последовательности, в которой они представлены внутри databaseChangeLog тега. Каждый changeSet содержит author и id тэги. Эти теги вместе с каталогом расположения classpath и именем файла создает уникальный идентефикатор changeSet-а. Файл набора изменений может быть представлен в следующих видах: XML, YAML, JSON, SQL.

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

Таким образом, были рассмотрены два инструмента для управления миграции базы данных - Flyway и Liquibase. Если над проектом работает целая команда, то очень сложно синхронизировать все изменения между разработчиками и окружениями разработки. Соответственно следует использовать подобные системы, как Flyway и Liquibase, они кроссплатформенные и обладают широким функционалом.

Литература

1. Flyway documentation [Электронный ресурс]. URL: http://flywaydb.org/ (дата обращения: 23.05.2015)

2. Flyway: управление миграциями баз данных [Электронный ресурс]. URL: http://habrahabr.ru/post/141354/ (дата обращения:

23.05.2015)

3. Flyway - Database Java Migration Open Source Framework [Электронный ресурс]. URL: http://www.methodsandtools.com/tools/flyway.php (дата обращения: 24.05.2015)

4. Source control for your database [Электронный ресурс]. URL: http://www.liquibase.org/ (дата обращения: 24.05.2015)

References

1. Flyway documentation [Jelektronnyj resurs]. URL: http://flywaydb.org/ (data obrashhenija: 23.05.2015)

2. Flyway: upravlenie migracijami baz dannyh [Jelektronnyj resurs]. URL: http://habrahabr.ru/post/141354/ (data obrashhenija:

23.05.2015)

3. Flyway - Database Java Migration Open Source Framework [Jelektronnyj resurs]. URL: http://www.methodsandtools.com/tools/flyway.php (data obrashhenija: 24.05.2015)

4. Source control for your database [Jelektronnyj resurs]. URL: http://www.liquibase.org/ (data obrashhenija: 24.05.2015)

114

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