Что происходит с измерением SCD2 при изменении атрибута
Измерение dim_client ведётся по типу SCD2: есть бизнес-ключ client_id, суррогатный ключ, поля valid_from, valid_to и признак актуальности.
Клиент переехал: регион изменился с «Урал» на «Юг». Что должно произойти в измерении при загрузке этого изменения?
- Существующая строка обновляется на месте: в поле region пишется новое значение, а прошлые отчёты пересчитываются по текущему региону — так витрина всегда согласована со справочником.
- Клиенту заводится новый бизнес-ключ, а прежняя запись помечается неактуальной, чтобы старые и новые факты не смешивались в отчётах по регионам.
- У действующей версии закрывается интервал (проставляется valid_to и снимается признак актуальности), и добавляется новая строка с новым регионом и своим суррогатным ключом.
- Изменение фиксируется только в слое RAW и в журнале загрузок, а измерение остаётся прежним до ближайшей полной перезагрузки DWH — именно так SCD2 и обеспечивает историчность.
