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

Удаления в аналитике

Вопрос

CDC принесло событие удаления клиента. Как разумнее всего отразить его в хранилище?

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

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

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

Коротко

Правильный ответ: По требованиям: в текущем состоянии удалить или пометить флагом, в истории сохранить; ПДн по закону. Варианты зависят от смысла: для текущего состояния обычно мягкое удаление (флаг), чтобы не ломать связи с фактами, а журнал изменений хранит факт удаления.

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

  1. Игнорировать удаления: аналитике нужна вся история, а удалённый клиент всё равно остаётся в фактах
  2. По требованиям: в текущем состоянии удалить или пометить флагом, в истории сохранить; ПДн по законуправильный ответ
  3. Удалить клиента и каскадно все его заказы из всех таблиц хранилища, как это сделал источник
  4. Записать удаление как обновление строки со всеми NULL, чтобы сохранить ключ для связей

Разбор

Варианты зависят от смысла: для текущего состояния обычно мягкое удаление (флаг), чтобы не ломать связи с фактами, а журнал изменений хранит факт удаления. Если удаление связано с требованием удалить персональные данные, их надо удалить или обезличить везде, включая историю. Игнорирование даст «живых» удалённых клиентов. Каскадное удаление фактов исказит выручку. Строка из NULL это мусор, а не удаление.

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

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