#Разработка
Время прочтения 4 мин.

Подготовка к цифровой трансформации: составляем безопасный план переноса данных

Подготовка к цифровой трансформации: составляем безопасный план переноса данных

Цифровая трансформация действующего бизнеса всегда предполагает работу с данными. Они могут храниться в нескольких источниках или легаси-системах. В новом решении, которое будет отвечать актуальным бизнес-требованиям, работа с данными тоже строится по-новому. Но прежде данные нужно безопасно извлечь. Что мы делаем, чтобы миграция данных прошла без потерь и искажений?

1. Оцениваем текущую инфраструктуру

Анализируем, как хранятся данные в старой системе, и готовимся к переносу, учитывания требования будущего решения.

  • Анализ источника данных. Оцениваем структуру базы данных старого приложения, её объём, формат данных и типы (реляционные, неструктурированные, файлы и т.д.). Учитываем возможные зависимости и взаимосвязи между данными.
  • Оценка целевой системы. Если новое решение уже готово, убедимся, что оно поддерживает соответствующие форматы и объём данных и имеет механизм для обработки всех типов данных из старого приложения. Если решение только планируется, то продумываем шаги для максимальной совместимости в будущем.
  • Выявление потенциальных рисков. Это может быть потеря данных при конверсии форматов, несовместимости, проблемы с кодировкой символов или различиями в бизнес-логике старого и нового приложения.

Если данные переносятся в новую систему, цикл тестирования проходит и в ней.

  • Проверка пограничных случаев: тестируем крайние значения и данные с особыми условиями: пустые поля, большие объёмы, различные кодировки.
  • Проверка функциональности: корректно ли перенесены не только сами данные, но и их связи, зависимости и логические правила. Например, проверяем, как работают старые транзакции в новом интерфейсе.

2. Разрабатываем план миграции

Перед началом переноса данных создаем полные резервные копии всех данных и храним их в контуре заказчика. Это гарантия восстановления данных на случай непредвиденных проблем.

Далее определяем оптимальный метод миграции:

  • Инкрементальная миграция – перенос данных поэтапно или пакетами. Применяем, чтобы уменьшить нагрузку и обеспечить детальный контроль за каждым этапом.
  • ETL-процесс (Extract, Transform, Load) используем для извлечения данных из старого приложения, преобразования (если необходимо, например, для изменения форматов или структур) и загрузки в новое приложение.

3. Тестируем и верифицируем данные

Есть множество способов, как проверить корректность миграции данных. Обычно мы комбинируем несколько методов в зависимости от ситуации. В процессе миграции всегда проверяем соответствие данных на промежуточных этапах. После окончания миграции проводим полный аудит данных и тестирование функциональности.

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

Сравнение данных до и после переноса:

  • С сохранением текущей структуры

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

Инструментами для сравнения могут быть утилиты pg_dump и pg_restore для PostgreSQL с дальнейшим анализом дампов.

  • С построением новой структуры

В зависимости от БД используем специальные инструменты (например, Apache NiFi, Talend) для миграции. Они позволяют настраивать трансформацию данных в новую структуру и имеют средства проверки целостности.

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

4. Обеспечиваем безопасность переноса

Во время переноса доступ к данным есть только для тех, кто непосредственно участвует в процессе. Зная структуру БД, также можем обезличить данные и свести к минимуму контакт сторонних специалистов с реальными данными. Копия БД всегда остается только у заказчика.

Что будет с данными дальше?

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

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

Когда нет доступа, то работа начинается с аналитики
Мы собираем требования с нуля, проектируем новое решение и переходим к разработке, параллельно создавая документацию и внося в нее все изменения, которые возникают в процессе исправления багов или по запросу заказчика.

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

Разрабатываем с нуля и развиваем веб-приложения для финтеха и других сфер. Опишите задачу и отправьте нам на почту marketing@clevertec.ru

Этот сайт использует cookie, чтобы быть удобным для вас.
Подробнее в Политике cookie.
Подготовка к цифровой трансформации: составляем безопасный план переноса данных