Введение
Миграция баз данных на PostgreSQL — сложный процесс, требующий замены одной из фундаментальных технологий проекта.
Правила миграции
Только миграция для бизнеса
Требуется заморозить разработку новой функциональности — по крайней мере той части, которая влияет на схему данных. Это позволяет чётко отделить проблемы миграции от других изменений.
Только миграция для разработки
Категорически против параллельного решения других задач:
- Исправление старых багов.
- Оптимизация кода.
- Рефакторинг.
- Смена архитектуры.
Наслоение проблем миграции и рефакторинга замедляет весь процесс в несколько раз.
Только миграция для эксплуатации
Не следует менять операционные системы, файловые системы или внедрять новые технологии одновременно с миграцией.
Метафора
Это как операция на сердце. Чешется нога? Потерпите, почешете после операции.
Состав участников
Требуется мультидисциплинарная команда:
- Координатор проекта — принимает ключевые решения.
- Группа разработки — руководитель, архитектор, разработчики.
- Группа эксплуатации — руководитель, DBA, администраторы.
- Тестировщики.
- «Доктор» — внутренний или внешний консультант.
Привлечение опытного внешнего специалиста часто критично, так как местные специалисты, которые ни разу не работали с PostgreSQL, могут к нему быстро прийти — но на это не стоит рассчитывать.
Задачи миграции
Для управления
- Разрешение конфликтов между подразделениями.
- Организация заморозки работ.
- Организация технологического окна.
- Контроль исполнения плана.
Для разработки и эксплуатации
- Прозрачное переключение сервисов на новую БД.
- Изучение диалекта SQL и особенностей PostgreSQL.
Итоговые требования
- Полная функциональность (без новых функций, но без потери старых).
- Сопоставимая производительность.
- Соблюдение SLA.
- Резервирование по начальным требованиям.
План миграции
Основные этапы:
- Этап подготовки — изучение текущей системы.
- Этап реализации — изучение PostgreSQL.
- Этап тестирования.
- Этап миграции.
- Опытная эксплуатация.
Продолжение следует…