Оптимизация производительности баз

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

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

Коллеги, давайте разберем план выполнения. Главная ошибка — считать миграцию «копированием таблиц». В реальности это всегда цепочка: схема, данные, индексы, триггеры, фоновые джобы, приложения и права доступа. Если один слой не перевели в единый режим, получите либо долгий стоп, либо тихую порчу данных.

Чтобы не лечить прод с выключенным светом, держите базовый чек-лист: • заранее сравнить схемы и типы; • прогнать объёмную загрузку на копии; • отдельно проверить уникальности, FK и NULL-ограничения; • продумать обратный откат, а не только «переключение»; • замерить, что будет с журналом, репликацией и I/O под пиком.

Посмотрим, что тут с I/O в реальности. Полный залив часто упирается не в CPU, а в запись: растёт журнал, раздуваются чекпоинты, блокируются горячие страницы. Для больших таблиц безопаснее батчи с контролем пауз, а не один монолитный INSERT. И да, отключение индексов ради скорости помогает только если вы умеете потом быстро и без сюрпризов их пересобрать.

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

Лучший способ избежать простоя — не надеяться на «авось», а заранее прогнать миграцию как инцидент: с репетицией, таймингами и планом отката.
Этот пост опубликован в Telegram-канале Оптимизация производительности баз. Подписаться можно по ссылке: @database_performance_tuning_arb.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.