Обновить

Миграция без боли и даунтайма: как мы перевозили данные с MongoDB на PostgreSQL

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели8.9K
Всего голосов 24: ↑23 и ↓1+28
Комментарии7

Комментарии 7

Что за шардированный postgres? У postgres нет (своего) шардирования.

НЛО прилетело и опубликовало эту надпись здесь

Что за шардированный postgres?

Для нас, это связка Шапрей + PostgreSQL. Шапрей – сервис для хранения соотвествия шард-пользователь. В конце статьи есть ссылочка на youtube-видео про него.

нет (своего) шардирования

Да, это так. Про путь шардирования в Диске (от встроенного в монгу к шарпею+pg) есть такая статья

Схема всего этого хозяйства довольно большая.

Что означают пересечения связей с и без прямоугольничков? Мои предположения не дали нормального ответа.

енот‑дежурный Диска в такие моменты буквально сидел в огне.

И сколько получают ваши еноты за такое? Хотя бы молоко за вредность даёте им?)

Были ли случаи ошибок/проблем при миграции, так что ту сагу приходилось откатывать и срочно фиксить проблему? Или еноты не пострадали? (хотя моральный ущерб за тревогу всё равно был)

Что означают пересечения связей с и без прямоугольничков? Мои предположения не дали нормального ответа.

Прямоугольнички показывают что эти связи проходят мимо друг друга. То есть линия отправки push уведомления идёт из подсистемы отправки пушей в сторону клиента и стрелочка пересекала другие линии. Хотелось показать, что пересечение – это просто огрехи схемы. На самом деле есть как минимум два прямоугольничка, без которых можно было бы обойтись "погнув" линии связей сильнее, но получилось как получилось.

И сколько получают ваши еноты за такое? Хотя бы молоко за вредность даёте им?)

Молоко всегда есть на кофепоинтах) У нас есть процесс для повышения надёжности, чтобы енотам ничего не вредило. Недавно как раз Игорь Обручев рассказывал про это в видео.

Были ли случаи ошибок/проблем при миграции, так что ту сагу приходилось откатывать и срочно фиксить проблему? Или еноты не пострадали?

Мы нашли непротестированные автоматикой сценарии на нулевом этапе выкатки, когда выкатили только код и включили его на тестировщиков и тестовые аккаунты разработчиков. Мы поняли что есть недописанные автотесты на кейсы, когда гость в эксперименте, а владелец нет. И наоборот. Вот это пришлось дополнительно описывать, тестировать, фиксить места где что-то было не так. Таким образом код довольно долго не был включён на реальных пользователей. Потом мы очень медленно повышали процент, но откатывать не приходилось. Возможность "дёрнуть рубильник" была вплоть до последнего процента.

Прямоугольнички показывают что эти связи проходят мимо друг друга.

Блин, сейчас опять посмотрел и всё сошлось. А раньше смотрел и где-то видел противоречия) Но разве это стандартное обозначение?

есть как минимум два прямоугольничка, без которых можно было бы обойтись "погнув" линии связей сильнее

Как минимум один можно удалить, не прогибая линии сильнее. Интересно, на каком софте делался этот рисунок. Он хоть может сам таскать связи, когда мышкой двигаешь квадратик? Наш софт мог ещё в 93 году ;)

Но разве это стандартное обозначение?

Пересечение линий
Пересечение линий

Мне кажется стандартное на диаграммах что-то такое)

Интересно, на каком софте делался этот рисунок.

Рисунок был сделан, а потом перерисован уже не мной, так что конечная схема не уверен в чём сделана)

Наш софт мог ещё в 93 году ;)

Сейчас вроде почти все диаграммостоители умеют, если правильно всё соединить – к "маячкам", а не просто к координатам)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
www.ya.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия