Миграция данных: как выбрать подрядчика и проконтролировать проект без потерь | AdminWiki

Миграция данных: как выбрать подрядчика и проконтролировать проект без потерь

27 июля 2026 12 мин. чтения
Содержание статьи

Перенос корпоративных данных - это проект с высокими рисками. Ошибка в выборе исполнителя или отсутствие контроля на этапе приемки приводят к потере информации, длительным простоям и юридическим последствиям. Эта статья дает практический фреймворк для руководителей IT и проектных менеджеров: от аудита исходных систем и составления технического задания до проверки целостности данных и соблюдения 152-ФЗ. Вы получите критерии оценки подрядчика, шаблон оценочного листа и чек-лист приемки работ.

Мы разберем процесс миграции как управляемый IT-проект. Материал опирается на практику переноса баз данных PostgreSQL, MS SQL и Oracle, но принципы универсальны для любого стека. Если вам нужен общий фреймворк управления миграционными проектами, начните с пошагового плана миграции как IT-проекта - там разобраны роли, стратегии и инструменты тестирования. А здесь мы сфокусируемся на работе с внешним подрядчиком.

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

Поиск подрядчика до того, как вы описали объем и границы проекта, гарантированно ведет к завышенным счетам и пропущенным требованиям. Первый шаг - зафиксировать, что именно вы переносите, куда и с какими ограничениями по времени простоя. Без этого вы не сможете сравнить предложения разных команд.

Аудит исходных систем: что мигрируем и в каком объеме

Инвентаризация данных выявляет скрытые проблемы до того, как они превратятся в аварии на этапе переноса. Методика сбора информации включает три направления:

  • Опрос владельцев систем. Бизнес-подразделения часто хранят критичные данные в теневых базах, Excel-файлах или устаревших инстансах, о которых IT-департамент не знает. Прямой вопрос «какие данные вам нужны для работы» дает более точную картину, чем сканирование сети.
  • Сканирование сети и анализ схем БД. Автоматизированные средства (например, nmap для обнаружения хостов, скрипты для инвентаризации схем) собирают фактический ландшафт: версии СУБД, размеры таблиц, количество записей, типы данных.
  • Выявление проблемных зон. Устаревшие данные без владельца, дубликаты из-за исторических слияний систем, отсутствие документации по связям между таблицами - каждая из этих проблем увеличивает сроки миграции на 20-30%.

Результат аудита - документ с перечнем всех источников, их объемами, типами данных (структурированные, файлы, логи) и уровнем критичности для бизнеса. Критичность определяет допустимый простой (RTO) и допустимую потерю данных (RPO). Например, для биллинговой системы RPO может быть нулевым, а для внутреннего портала - 24 часа.

Целевая архитектура: куда и зачем переносим

Выбор целевой платформы напрямую влияет на требования к компетенциям подрядчика. Три типовых сценария:

  • Миграция на новую версию СУБД. Например, PostgreSQL 11 на PostgreSQL 16. Требует знания изменений в оптимизаторе, синтаксисе и системных каталогах конкретной версии.
  • Смена вендора. Oracle на PostgreSQL или MS SQL на PostgreSQL. Самый сложный сценарий: разная логика транзакций, хранимых процедур, типов данных. Подрядчик должен показать опыт именно таких кросс-вендорных проектов.
  • Переезд в облако. On-premise в облачную инфраструктуру, например, Timeweb Cloud с управляемыми базами данных. Добавляет требования к сетевой связности, шифрованию каналов и управлению доступом.

Зафиксируйте целевую архитектуру до рассылки запросов подрядчикам. Если вы еще не определились с платформой, запросите у кандидатов сравнительный анализ вариантов с обоснованием - это заодно покажет их экспертизу.

Критерии выбора подрядчика: на что смотреть, кроме цены

Цена - самый ненадежный критерий. Демпинг на старте почти всегда означает срыв сроков или скрытые доплаты на этапе стабилизации. Оценивайте подрядчика по четырем группам критериев: техническая экспертиза, проектный опыт, методология и безопасность.

Пример оценочного листа для скоринга:

КритерийВесОценка (1-5)Взвешенный балл
Опыт с вашей СУБД и версией25%
Референсы проектов схожего объема25%
Наличие фреймворка миграции и инструментов20%
Сертификации команды10%
Соответствие требованиям безопасности (NDA, 152-ФЗ)20%

Минимальный проходной балл - 4.0. Все, что ниже, отсекайте независимо от цены.

Оценка технических компетенций: что спросить на собеседовании

Техническое интервью с командой подрядчика выявляет реальный уровень, а не качество презентации. Задайте эти вопросы:

  • «Опишите стратегию миграции для нашего объема данных и допустимого окна простоя. Какие альтернативы вы рассматривали и почему выбрали эту?» Правильный ответ содержит сравнение big bang, поэтапной и параллельной стратегий с цифрами под ваш объем.
  • «Как вы обрабатываете ошибки конвертации типов данных при смене СУБД? Приведите пример из практики.» Ожидайте описание механизма: предварительное профилирование, mapping-таблица несовместимых типов, обработка исключений на уровне ETL-скрипта.
  • «Какие механизмы валидации вы используете для подтверждения целостности после переноса?» Правильный ответ: построчное сравнение, контрольные суммы сегментов, проверка бизнес-логики на эталонном наборе транзакций.

Проверьте знания на практике. Дайте тестовое задание: перенести 10 ГБ реальных данных (обезличенных) из вашей текущей СУБД в целевую за 48 часов. Результат покажет и скорость, и качество проработки.

Проверка референсов: как отличить реальный опыт от маркетинга

«Рисованные» кейсы выдают себя отсутствием конкретики. При проверке портфолио запрашивайте:

  • Контакты прошлых заказчиков. Минимум два контакта с проектов схожего масштаба. Позвоните и спросите не «как всё прошло», а «какую проблему вы обнаружили через месяц после миграции и как подрядчик её решал».
  • Описание проектов с объемами данных и сроками. Кейс должен содержать: исходную и целевую СУБД, объем в терабайтах, количество таблиц, длительность окна простоя, фактические сроки проекта.
  • Примеры решенных проблем. Попросите описать самую серьезную нештатную ситуацию на проекте и действия команды. Отсутствие таких примеров означает либо отсутствие опыта, либо неготовность обсуждать ошибки.

Красные флаги: отказ предоставить контакты заказчиков, размытые формулировки «успешно завершили проект», отсутствие цифр по объемам и срокам.

Техническое задание на миграцию: шаблон и ключевые разделы

ТЗ - это ваш главный инструмент управления ожиданиями и основа для приемки. Размытые формулировки типа «обеспечить перенос данных» оставляют пространство для споров. Каждый раздел должен содержать проверяемые метрики.

Обязательные разделы ТЗ:

  • Цели и scope. Перечень систем-источников и целевых систем, объем данных, типы объектов (таблицы, индексы, представления, хранимые процедуры).
  • Текущая и целевая архитектура. Схемы с указанием версий ПО, сетевых адресов, каналов связи.
  • Требования к миграции. Допустимый простой (RTO), допустимая потеря данных (RPO), требования к целостности и консистентности.
  • Этапы и сроки. Разбивка с контрольными точками и привязкой платежей.
  • Критерии приемки. Измеримые показатели для каждого этапа.
  • Требования к отчетности. Формат, периодичность, содержание статус-отчетов.
  • Формат передачи результатов. Документация, скрипты, инструкции для поддержки.

Как описать требования к целостности и консистентности данных

Формулировка «миграция без потери данных» нерабочая - она не проверяется. Вместо этого зафиксируйте конкретные методы сверки:

  • Построчное сравнение. Для таблиц до 10 млн строк. Подрядчик предоставляет скрипт, который для каждой строки источника находит соответствующую строку в целевой системе и сравнивает значения всех колонок.
  • Контрольные суммы. Для таблиц свыше 10 млн строк. Данные разбиваются на сегменты по первичному ключу, для каждого сегмента вычисляется хеш-сумма (MD5 или SHA-256) в источнике и приемнике. Сравнение сумм выявляет расхождения.
  • Проверка бизнес-логики. Набор SQL-запросов, которые проверяют ключевые бизнес-правила: балансы счетов, количество активных заказов, суммы проводок за период. Результаты в источнике и приемнике должны совпадать с точностью до копейки.

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

План-график и вехи: как привязать оплату к результатам

Разбивка проекта на этапы с измеримыми результатами защищает вас от ситуации, когда 80% оплаты уже перечислено, а миграция не завершена. Типовая структура:

  1. Подготовка (10% оплаты). Аудит систем, разработка дизайна миграции, настройка тестовой среды. Результат: утвержденный дизайн-документ.
  2. Тестовая миграция (20% оплаты). Полный прогон на копии данных, анализ результатов, доработка скриптов. Результат: подписанный протокол тестовой миграции с метриками.
  3. Промышленная миграция (40% оплаты). Перенос данных в целевую систему в согласованное окно. Результат: акт технической приемки.
  4. Стабилизация (30% оплаты). Опытная эксплуатация 2 недели, исправление дефектов, передача документации. Результат: финальный акт сдачи-приемки.

Платеж по каждому этапу - только после подписания акта. Это дисциплинирует обе стороны.

Управление рисками при переносе данных: план Б обязателен

Риски миграции делятся на четыре категории. Для каждой определены вероятность, влияние и меры предотвращения:

РискВероятностьВлияниеПредотвращение
Несовместимость форматов данныхВысокаяКритичноеПрофилирование данных до начала работ, mapping-таблица типов
Скрытые зависимости (триггеры, внешние ключи)СредняяВысокоеПолный анализ схемы БД, тестовая миграция
Деградация производительности на целевой системеСредняяВысокоеНагрузочное тестирование на тестовой среде с реальными объемами
Человеческий фактор (ошибка оператора)НизкаяКритичноеАвтоматизация всех повторяющихся операций, принцип двух пар глаз

Тестовая миграция: почему это не опция, а обязательный этап

Тестовая миграция - это полномасштабная репетиция на копии продуктивных данных. Она выявляет проблемы, которые невозможно обнаружить на малых выборках: деградацию планов запросов, конфликты блокировок, нехватку дискового пространства под индексы.

Организуйте тестовый прогон так:

  • Среда должна быть идентична целевой по версиям ПО и конфигурации железа.
  • Данные - полная копия продуктивной базы, а не подмножество.
  • Метрики успеха зафиксированы заранее: время переноса, количество ошибок валидации, результаты сверки контрольных сумм.

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

Что делать, если что-то пошло не так: процедура эскалации и отката

План отката (rollback) - это не абстрактное «вернем как было», а документированная процедура с таймингами и ответственными. Ключевые элементы:

  • Триггеры остановки. Заранее согласованные условия, при которых миграция прекращается. Например: «время переноса превысило согласованное окно на 30 минут», «количество ошибок валидации превысило 0.1% от общего числа записей».
  • Роли и ответственные. Кто принимает решение об остановке (руководитель проекта со стороны заказчика), кто выполняет откат (техническая команда подрядчика), кто оповещает бизнес-пользователей.
  • Коммуникационный план. Шаблоны сообщений для разных групп: техническая команда, бизнес-заказчики, конечные пользователи. Время на оповещение - не более 15 минут после срабатывания триггера.

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

Контроль проекта миграции: как не упустить из виду главное

Контроль строится на трех элементах: регулярные статус-митинги, формализованные отчеты и объективные метрики. Без этого вы узнаете об отставании от графика за день до дедлайна.

Статус-митинг - 30 минут, два раза в неделю. Фиксированная повестка: факт выполнения задач за период, отклонения от плана (с причинами), риски и проблемы, план на следующий период. Результат митинга - обновленный журнал рисков и проблем, который ведется в общем доступе.

Отчет подрядчика - еженедельный документ, содержащий:

  • Процент выполнения по этапам (план/факт).
  • Количество перенесенных объектов (таблиц, строк, гигабайт).
  • Статистику ошибок валидации (общее количество, динамика по неделям).
  • Перечень открытых проблем с указанием ответственного и срока решения.

Метрики и дашборды: что отслеживать в реальном времени

Для оперативного контроля на этапе промышленной миграции настройте дашборд со следующими метриками:

  • Скорость переноса (строк/сек или МБ/сек) - падение скорости сигнализирует о проблемах с сетью или дисковой подсистемой.
  • Количество ошибок валидации в реальном времени - рост числа ошибок может указывать на логическую проблему в скрипте.
  • Отставание от графика в процентах - рассчитывается как отношение фактически перенесенного объема к плановому на текущий момент времени.

Инструменты для дашборда: Jira для отслеживания задач и дефектов, Confluence для документации, Grafana для визуализации технических метрик (скорость переноса, загрузка CPU/IO на источнике и приемнике).

KPI для подрядчика, которые стоит включить в договор:

  • Соблюдение сроков контрольных точек - допустимое отклонение не более 10%.
  • Количество критических дефектов на этапе приемки - не более 5.
  • Время реакции на проблему с приоритетом «блокирующий» - не более 2 часов в рабочее время.

Приемка и проверка результатов: чек-лист для подписания акта

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

Техническая проверка:

  • Сверка количества записей по всем таблицам - расхождение 0.
  • Выборочная проверка содержимого - не менее 100 строк на таблицу, для ключевых таблиц - 1000 строк.
  • Тестирование производительности - время выполнения 10 самых частых запросов на целевой системе не должно превышать время на исходной более чем на 20%.
  • Проверка индексов и ограничений - все индексы созданы, внешние ключи активны, CHECK-ограничения работают.

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

Проверка безопасности: права доступа на целевой системе соответствуют ролевой модели, данные в покое зашифрованы (если требуется), каналы передачи используют TLS 1.2 или выше.

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

Автоматизированная сверка данных: скрипты и инструменты

Ручная сверка на объемах свыше 100 ГБ невозможна. Используйте автоматизированные средства:

  • Для PostgreSQL - утилита pg_comparator, которая выполняет построчное сравнение таблиц с настраиваемым уровнем параллелизма.
  • Универсальный подход - SQL-запросы для сверки количества строк и контрольных сумм:
    -- Сверка количества строк
    SELECT 'source' AS system, COUNT(*) AS row_count FROM source_table
    UNION ALL
    SELECT 'target' AS system, COUNT(*) AS row_count FROM target_table;
    
    -- Сверка контрольных сумм по сегментам
    SELECT md5(string_agg(row_hash, '' ORDER BY id))
    FROM (SELECT id, md5(CAST((col1, col2, col3) AS TEXT)) AS row_hash
          FROM source_table ORDER BY id LIMIT 100000) AS segment;

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

Опытная эксплуатация: период стабилизации после миграции

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

Длительность ОПЭ - 1-2 недели. В этот период:

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

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

Юридические аспекты и комплаенс: защита данных при миграции

Передача данных подрядчику для миграции - это обработка персональных данных (ПДн) в смысле 152-ФЗ, если в базах содержатся сведения о физических лицах. IP-адрес в российской практике также трактуется как персональные данные, поскольку является косвенным идентификатором. Игнорирование этих требований ведет к штрафам и блокировкам.

Минимальный набор требований для соблюдения 152-ФЗ при миграции:

  • Согласие на обработку. Если данные собирались без согласия на передачу третьим лицам, перед миграцией получите новое согласие или обезличьте данные.
  • Поручение обработки. Оформите с подрядчиком договор поручения обработки ПДн. В нем фиксируются: перечень обрабатываемых данных, цели обработки, меры защиты, обязанность удалить данные после завершения проекта.
  • Локализация баз данных в РФ. Целевая система должна физически находиться на территории России. Если подрядчик предлагает облачную платформу за рубежом, это прямое нарушение требования локализации.

Включите в договор с подрядчиком:

  • NDA (соглашение о конфиденциальности) с финансовой ответственностью за утечку.
  • Обязательства по соблюдению 152-ФЗ с перечнем конкретных мер (шифрование, разграничение доступа, журналирование действий).
  • Ответственность за утечку данных - фиксированный штраф или компенсация убытков.

Трансграничная передача ПДн (если подрядчик использует зарубежную инфраструктуру) требует уведомления Роскомнадзора и получения согласия субъектов. На практике этого стараются избегать, размещая все компоненты в российских дата-центрах.

Полный фреймворк управления миграционными рисками с чек-листом на 6 пунктов и шаблонами RACI вы найдете в руководстве по стратегии и управлению рисками IT-миграции. Для проектов 2026 года с учетом требований импортозамещения используйте пошаговый чек-лист планирования миграции на 2026 год.

Поделиться:
Сохранить гайд? В закладки браузера