Ответ вслух Middle CDC и инкрементальная загрузка спрашивают часто обновлено

Способы инкрементальной загрузки

Вопрос

Сравните способы забирать изменения из базы сервиса в хранилище: полная выгрузка, инкремент по updated_at, log-based CDC.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Полная выгрузка самая простая и честная: видит удаления, не копит ошибок, но на сотнях миллионов строк долго грузит источник, поэтому подходит для справочников.

Что должно прозвучать в ответе

  • Полная: просто, видит удаления, тяжело на больших объёмах

  • По updated_at: дёшево, но граница, долгие транзакции, нет удалений, нужна дисциплина

  • Log-based CDC: все изменения и удаления, низкая нагрузка, секунды задержки

  • Цена CDC: настройка базы, слот и его мониторинг, инфраструктура Kafka Connect

  • Применение изменений в хранилище: последнее состояние по позиции журнала, идемпотентность

  • Периодическая сверка как страховка

Что могут спросить следом

  • Что выберете для таблицы на 50 тысяч строк?
  • Как перейти с инкремента на CDC без потерь?

Разбор

Образцовый ответ: «Полная выгрузка самая простая и честная: видит удаления, не копит ошибок, но на сотнях миллионов строк долго грузит источник, поэтому подходит для справочников. Инкремент по updated_at дешёвый, но требует индекса и дисциплины обновления колонки, теряет строки на границе и из-за долгих транзакций, если не брать окно с перекрытием, и не видит удалений. Log-based CDC через Debezium читает журнал транзакций: видит все изменения и удаления, почти не нагружает таблицы, задержка секунды. Цена: настроить логическую репликацию, держать Kafka Connect и обязательно мониторить слот, иначе WAL заполнит диск. В хранилище применяю изменения по позиции журнала, а не по времени получения, и идемпотентно. Какой бы способ ни был, раз в неделю делаю сверку ключей и сумм с источником».

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.