Вы бы использовали временную таблицу в постоянной области хранения вашего хранилища данных. Тогда вы можете просто применить изменения из исходных систем и не потерять какие-либо исторические версии.
Затем, когда вы запрашиваете или создаете интеллектуальный смарт-магазин, вы можете объединять факты с текущей или исторической версией измерения. Обратите внимание, что для этого не нужны суррогатные ключи, но вы можете создать их для упрощения и оптимизации запросов к многомерной модели. Вы можете сгенерировать суррогатный ключ с помощью выражения типа
ROW_NUMBER () OVER (ORDER BY EmployeeID, ValidTo) AS EmployeeKey
И затем присоединение к таблице измерений при загрузке таблицы фактов, как обычно.
Но интересно то, что это может отложить ваше многомерное моделирование и выбор типов SCD, пока они вам действительно не понадобятся. А сокращение и отсрочка разработки и реализации витрины данных помогает быстрее обеспечить постепенный прогресс. Вы можете с уверенностью доставлять первоначальный набор отчетов, используя представления по вашей постоянной промежуточной области (или «озеру данных», если вы предпочитаете этот термин), в то время как ваше проектное мышление для датамаркетов развивается.