Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Data Transfer
  • Доступные трансферы
  • Начало работы
    • Все инструкции
    • Подготовка к трансферу
    • Управление трансфером
    • Работа с базами данных во время трансфера
    • Мониторинг состояния трансфера
  • Решение проблем
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • Обучающие курсы

В этой статье:

  • MySQL
  • PostgreSQL
  • MongoDB
  1. Пошаговые инструкции
  2. Работа с базами данных во время трансфера

Работа с базами данных во время трансфера

Статья создана
Yandex Cloud
Улучшена
Dmitry A.
Обновлена 15 июля 2024 г.
  • MySQL
  • PostgreSQL
  • MongoDB

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

MySQLMySQL

  • Для трансферов в статусе Копируется любые изменения схемы данных (ALTER) на источнике или приемнике прервут трансфер.

  • Для трансферов в статусе Реплицируется схему данных на источнике можно изменять. Все операции ALTER, попавшие в бинарный лог (binlog) на источнике, автоматически применятся на приемнике. Этот процесс занимает некоторое время, поэтому трансфер может замедлиться.

PostgreSQLPostgreSQL

Совет

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

Для трансферов типа Копирование и Копирование и репликация:

  • в статусе Копируется запрещено изменять схему данных на источнике и приемнике;

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

    Например, пусть в таблицу test_table источника добавили новый столбец:

    ALTER TABLE test_table ADD COLUMN val2 TEXT;
    

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

    ALTER TABLE test_table ADD COLUMN val2 TEXT;
    

    После этого трансфер сможет продолжить работу.

MongoDBMongoDB

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

  • Для трансферов в статусе Реплицируется можно столкнуться с проблемой дублирования ключа в ситуациях, когда приемником выступает шардированный кластер MongoDB с индексом шардирования, отличным от _id. Во время работы трансфера не рекомендуется создавать на приемнике кластеры с индексами шардирования, отличными от _id.

Была ли статья полезна?

Предыдущая
Управление трансфером
Следующая
Мониторинг состояния трансфера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»