Работал ли ты с инкрементальной и full-загрузкой? Как боролись с дубликатами?

Full-загрузка пересоздаёт полный набор данных, инкрементальная обрабатывает изменения. Дубликаты предотвращают устойчивым ключом, идемпотентной записью и согласованной точкой продолжения.

Короткий ответ

Что ответить на собеседовании

Full-загрузка пересоздаёт полный набор данных, инкрементальная обрабатывает изменения. Дубликаты предотвращают устойчивым ключом, идемпотентной записью и согласованной точкой продолжения.

Подробный разбор

Ответ с пояснениями

Full-загрузка пересоздаёт полный набор данных, инкрементальная обрабатывает изменения. Дубликаты предотвращают устойчивым ключом, идемпотентной записью и согласованной точкой продолжения.

Для инкремента используют CDC или watermark по времени/версии. Последнюю позицию фиксируют только после успешной записи. При поздних событиях перечитывают перекрывающийся диапазон и выбирают последнюю версию по ключу; удаление также должно иметь отдельное представление.

Full-загрузку удобно собирать в staging с проверкой количества и качества, затем атомарно переключать потребителя. DISTINCT удаляет лишь одинаковые строки и не решает конфликт разных версий одной сущности. В рассказе о проекте уточняйте реальный ключ, стратегию повторного запуска и способ сверки.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее