Выбор ответа Senior CDC и инкрементальная загрузка обновлено
Начальный снимок и поток изменений
Вопрос
Почему при запуске CDC важно, чтобы начальный снимок и последующий поток изменений были согласованы по позиции журнала?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Иначе изменения во время снимка потеряются или применятся дважды не в том порядке. Снимок отражает состояние на определённый момент, а поток должен начаться ровно с этой позиции журнала.
Варианты ответа
- Иначе Kafka не примет события: брокер проверяет непрерывность LSN в каждом топике
- Иначе слот репликации не создастся, потому что снимок держит блокировку на таблицах
- Согласованность не важна: события CDC идемпотентны, и повтор старых ничего не испортит
- Иначе изменения во время снимка потеряются или применятся дважды не в том порядкеправильный ответ
Разбор
Снимок отражает состояние на определённый момент, а поток должен начаться ровно с этой позиции журнала. Debezium делает это, создавая слот и снимок согласованно. Если поток начать позже, изменения между ними потеряются; если раньше, применение старых изменений поверх более свежего снимка испортит данные без учёта позиций. Kafka и слот к этому отношения не имеют. Идемпотентность сама по себе не исправляет порядок.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «CDC и инкрементальная загрузка»
- Удаления в аналитике
- Событие Debezium
- Transactional outbox
- Инкремент по водяному знаку
- Применить события Debezium к состоянию
- Поле op в событии Debezium
- Удаления при инкременте по updated_at
- Спроектируйте репликацию данных сервисов в хранилище через CDC