Выбор ответа Middle CDC и инкрементальная загрузка спрашивают часто обновлено
Преимущества log-based CDC
Вопрос
Чем log-based CDC (например, Debezium поверх WAL PostgreSQL) лучше инкремента по updated_at?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Видит все изменения, включая удаления и промежуточные состояния, не нагружает таблицы, задержка секунды. Журнал транзакций содержит каждое изменение, поэтому удаления и несколько изменений между выгрузками не теряются, а читается журнал, а не таблицы.
Варианты ответа
- Видит все изменения, включая удаления и промежуточные состояния, не нагружает таблицы, задержка секундыправильный ответ
- Не требует никакой настройки базы источника: Debezium читает WAL через обычное подключение
- Гарантирует глобальный порядок всех изменений во всех таблицах в одном топике Kafka
- Не нужен начальный снимок данных: WAL хранит всю историю таблицы с момента её создания, коннектор прочитает её целиком
Разбор
Журнал транзакций содержит каждое изменение, поэтому удаления и несколько изменений между выгрузками не теряются, а читается журнал, а не таблицы. Настройка нужна: wal_level = logical, слот, публикация, права. Порядок в Kafka гарантирован в пределах ключа (партиции), не глобально. Начальный снимок нужен, чтобы получить уже существующие строки.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «CDC и инкрементальная загрузка»
- Удаления в аналитике
- Событие Debezium
- Transactional outbox
- Инкремент по водяному знаку
- Применить события Debezium к состоянию
- Поле op в событии Debezium
- Удаления при инкременте по updated_at
- Спроектируйте репликацию данных сервисов в хранилище через CDC