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

Преимущества log-based CDC

Вопрос

Чем log-based CDC (например, Debezium поверх WAL PostgreSQL) лучше инкремента по updated_at?

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: Видит все изменения, включая удаления и промежуточные состояния, не нагружает таблицы, задержка секунды. Журнал транзакций содержит каждое изменение, поэтому удаления и несколько изменений между выгрузками не теряются, а читается журнал, а не таблицы.

Варианты ответа

  1. Видит все изменения, включая удаления и промежуточные состояния, не нагружает таблицы, задержка секундыправильный ответ
  2. Не требует никакой настройки базы источника: Debezium читает WAL через обычное подключение
  3. Гарантирует глобальный порядок всех изменений во всех таблицах в одном топике Kafka
  4. Не нужен начальный снимок данных: WAL хранит всю историю таблицы с момента её создания, коннектор прочитает её целиком

Разбор

Журнал транзакций содержит каждое изменение, поэтому удаления и несколько изменений между выгрузками не теряются, а читается журнал, а не таблицы. Настройка нужна: wal_level = logical, слот, публикация, права. Порядок в Kafka гарантирован в пределах ключа (партиции), не глобально. Начальный снимок нужен, чтобы получить уже существующие строки.

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

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