6-фазний підхід: інвентаризація, mapping, валідація, тестова міграція, продакшн, верифікація.
Міграція з legacy-системи — це не «перенесли таблиці і поїхали». Це проєкт, що триває 4-12 місяців, у якому 80% роботи — підготовка, і тільки 20% — власне перенесення. Помилка на старті призводить до тижнів простою або до втрати даних. Стаття описує 6-фазний підхід, перевірений на десятках проєктів.
Тривалість: 2-6 тижнів.
Перш ніж переносити, треба знати, що переносимо. Завдання фази:
Результат: документ «Каталог даних і план міграції».
Тривалість: 3-8 тижнів.
Структура legacy і структура UBD ніколи не збігаються. Завдання — створити mapping: яке поле legacy відповідає якому полю UBD, як трансформувати значення.
| Тип mapping | Складність | Приклад |
|---|---|---|
| 1:1 (пряме копіювання) | Низька | employee.fio → user.full_name |
| 1:N (одне поле legacy → кілька UBD) | Середня | address (рядок) → street + city + zip |
| N:1 (кілька legacy → одне UBD) | Середня | first_name + last_name → full_name |
| Трансформація значень | Висока | status_code (1,2,3) → status (active/pending/closed) |
| Збагачення з зовнішніх джерел | Висока | company_code → company_id (lookup в довіднику) |
| Денормалізація → нормалізація | Дуже висока | Один великий запис з повтореннями → кілька пов’язаних |
Тривалість: 2-6 тижнів.
До початку міграції перевіряємо якість даних. Типові перевірки:
Результат: звіт про якість з відсотками порушень. На основі звіту замовник вирішує: виправляти у legacy перед міграцією, виправляти у процесі міграції, ігнорувати, відкинути «погані» записи.
Тривалість: 4-8 тижнів (кілька циклів).
На тестовому стенді виконується повна міграція з прод-копії даних. Завдання:
Зазвичай — 2-4 повні цикли тестової міграції до приймальних випробувань.
Тривалість: від декількох годин до тижнів.
Дві стратегії:
Legacy зупиняється у визначений момент, виконується повна міграція, UBD стартує. Час даунтайму — від кількох годин до доби.
Переваги: чітка точка переключення, немає необхідності синхронізації legacy ↔ UBD.
Недоліки: ризик — якщо щось не спрацює у проді, відкат складний. Простой бізнесу.
Legacy і UBD працюють паралельно. Дані пишуться у обидві системи. Поступово функції переключаються з legacy на UBD. Після стабілізації legacy відключається.
Переваги: можна відкотити, нульовий простой.
Недоліки: складність синхронізації, ризик розбіжностей даних, вдвічі більше навантаження на адміністрування.
Тривалість: 2-4 тижні після cutover.
Після міграції — перевірка цілісності:
| Інструмент | Коли використовувати |
|---|---|
| ETL-платформи (Talend, Pentaho, NiFi) | Складні mapping з трансформаціями, регулярні міграції |
| Прямі SQL-скрипти | Прості міграції, контрольоване середовище |
| API-bridges (custom-код) | Legacy зі своїм API, складна логіка |
| UBD ETL-модуль | Стандартні джерела (SharePoint, 1С, Bitrix24) |
У legacy зберігаються тимчасові кеші, сесії, чернетки. Не переносимо — створюються заново в UBD при роботі.
Орієнтація на актуальний стан, але історія посад зберігається у окремій таблиці (часто це нова таблиця, якої не було у legacy).
Документи з версіонуванням: переносити всі версії чи тільки актуальну? Залежить від регуляторних вимог. Для електронного документообігу — всі версії з мета-даними і підписами.
Перед cutover обов’язково готується план відкату:
UBD має штатну ETL-логіку для імпорту з популярних в Україні джерел: Microsoft SharePoint, 1С (через ODBC або вивантаження), Bitrix24, Excel-файли з умовною структурою. Для цих джерел не потрібно писати ETL-скрипти з нуля — налаштовується mapping у графічному інтерфейсі, ETL запускається автоматично. Це скорочує фази 2-4 на 30-50%.