Полный текст
Миграция без боли и даунтайма: как Яндекс перевёз данные с MongoDB на PostgreSQLАндрей, бэкенд-разработчик ядра Яндекс Диска, повидавший некоторое ПО за 15 лет в индустрии, делится опытом масштабной миграции. Однажды в Диске общие данные переносились из шардированного MongoDB в такой же шардированный PostgreSQL. После переноса пользовательских данных часть информации об общих папках осталась в общей MongoDB CommonDB.Со временем CommonDB перестала справляться с нагрузкой. Пришлось дублировать информацию ближе к данным пользователей.Однако при дублировании важно было избежать распределённых транзакций, чтобы не снизить производительность. Сам процесс перехода для сотен миллионов пользователей должен был пройти незаметно, без потери доступа к данным и без даунтайма, с возможностью частичного выката и быстрого отката. Узнаем, как были устроены сложные миграции под нагрузкой и на что нужно обратить внимание в подобных кейсах.