Старая система живёт до конца
Параллельный период — не опция, а условие работы. Пока новая база не отработала оговорённый срок без замечаний, старая остаётся рабочей точкой отката.
Переносим базы вместе с логикой и серверы вместе с каталогом пользователей. Старая система остаётся рабочей точкой отката до конца параллельного периода: переключаемся по регламенту, а не в надежде.
Обследование стека и план — от 250 000 ₽, 2–3 неделиТиповая база — 1–3 месяцаРаботаем по NDA
Логотипов и «экономии 75% на лицензиях в первый год» здесь не будет: экономия зависит от вашего договора с вендором, а не от нашей работы.
Параллельный период — не опция, а условие работы. Пока новая база не отработала оговорённый срок без замечаний, старая остаётся рабочей точкой отката.
Две-три недели инвентаризации, и вы получаете отчёт о совместимости: что переносится автоматически, что придётся переписать и сколько это займёт.
Профиль запросов снимаем на работающей системе. Иначе после переезда нечем доказать, что не стало медленнее, — а именно это спросят первым.
Если половина логики в процедурах, которые никто не читал десять лет, честнее сначала разобраться с ними, а не переносить вслепую.
Поддержка прекращена, обновления недоступны, а срок регулятора приближается независимо от вашей готовности.
Перечня зависимостей нет, половина логики в хранимых процедурах, авторы давно уволились.
Список тех, кто подключается, неизвестен. Любое изменение схемы может сломать то, о чём никто не помнит.
Дошли до первой несовместимости типов или синтаксиса и отложили. С тех пор ситуация не улучшилась.
Планировщик PostgreSQL работает иначе, и запросы, которые летали, могут замедлиться. Без замера это неизвестно.
Дело не только в базе: серверы приложений, файловые ресурсы и каталог пользователей тоже надо куда-то переносить.
Третья колонка важнее первых двух: она показывает, где заканчивается автоматика и начинается ручная работа. Именно она определяет срок и цену.
Правую колонку читайте первой. О ней обычно не пишут, а узнают через месяц после переключения.
Что понадобится именно вам, становится ясно после инвентаризации. Отчёт о совместимости вы получаете на руки.
Схема, объекты, задания, все потребители базы и профиль нагрузки. На выходе — отчёт о совместимости с оценкой объёма.
Таблицы, индексы, ограничения, последовательности, права. Со сверкой контрольных сумм по ключевым таблицам.
Процедуры, функции, триггеры, задания планировщика. Сконвертированное читаем руками — это основная часть срока.
Там, где код обращается к специфичному синтаксису. Включая доработку 1С и самописных систем под новую СУБД.
Серверы приложений, веб, файловые ресурсы, каталог пользователей и единый вход.
Прогон реального профиля запросов, планы, индексы, параметры. Сравнение с базовым замером до переноса.
Репликация, автоматическое переключение, резервное копирование с проверкой восстановления.
Передача знаний вашим администраторам, документация, поддержка первых месяцев после переключения.
Обе системы работают одновременно, данные сверяются ежедневно, и до конца периода откат занимает минуты.
Каждый этап закрывается актом. Остановиться можно после инвентаризации — отчёт о совместимости остаётся у вас.
Собираем, что реально работает: объекты, задания, потребители базы, профиль нагрузки. Отсюда берётся честная оценка срока.
Выбираем СУБД и ОС, согласуем очерёдность, точки отката и критерии приёмки. Здесь же говорим, если переносить рано.
Схема, данные, логика, права. Каждую сконвертированную процедуру читаем и проверяем на тестовых данных.
Прогон реальных запросов, настройка планов и параметров, сравнение с замером, снятым до переноса.
Обе системы работают, данные сверяются, расхождения разбираются. Старая база остаётся рабочей.
По регламенту, с точкой отката и дежурством в первые дни. Старую систему выводим только после оговорённого срока без замечаний.
Первый разбор — про перенос базы к сроку, когда перечня зависимостей нет, а половина логики в процедурах.
Лицензии заканчиваются, половина логики в хранимых процедурах, перечня зависимостей нет.
Часть архива живёт в системах, которые сами подлежат переносу: с них начинается инвентаризация.
Обмены — первое, что ломается после переезда базы: их список и надо собирать до переноса.
Заказчиков не называем — договоры это запрещают. Зато по каждой работе написано, что изменилось после сдачи и чем это проверяется.
Целевую платформу выбираем под ваши требования к реестру и поддержке, а не под свои предпочтения.
Сроки регулятора и требования по категорированию: переход обязателен независимо от желания.
Учётные и производственные контуры на Oracle и MS SQL, серверы приложений на Windows.
Большой объём логики в процедурах и жёсткие требования к непрерывности.
Тем, кому нужно попасть в реестр отечественного ПО: без поддержки отечественной СУБД заявка не проходит.
Лицензии дорожают, а бюджет — нет. Это законный повод, и он ничем не хуже требования регулятора.
Сорок минут созвона: что стоит, какой объём, кто ходит в базу и к какому сроку надо успеть. По итогам назовём объём инвентаризации, цену и срок.
Типовая база — один-три месяца вместе с параллельным периодом. Основное время уходит не на данные, а на логику: сколько именно, становится известно после инвентаризации.
На время переноса — нет: он идёт на тестовом контуре, боевая база продолжает работать. Остановка нужна только на само переключение и обычно измеряется часами. Обещать полное отсутствие простоя было бы неправдой.
Может стать и лучше, и хуже — планировщик PostgreSQL работает иначе. Поэтому мы снимаем профиль запросов до переноса, а после гоняем его снова и настраиваем. Без базового замера этот вопрос не имеет ответа.
Часть автоматически, часть руками. Автономные транзакции, иерархические запросы, отдельные аналитические функции и поведение NULL переписываются. Объём такой работы — главный результат инвентаризации.
Да: Postgres Pro, Tantor, Jatoba. Технически миграция от этого почти не меняется, отличается только сборка и её поддержка. Нужна ли сертифицированная — зависит от ваших требований к реестру.
Три основных: недооценённый объём логики, деградация запросов и неизвестные потребители базы. Против первого — чтение процедур руками, против второго — замер до и после, против третьего — трассировка обращений на работающей системе.
Обследование стека и план миграции — от 250 000 ₽ с фиксированной ценой, вычитается из следующего этапа. Перенос — от 800 000 ₽. Перенос серверов на Linux считается отдельно по числу узлов.