Сначала начните с размеров - один за другим. Используйте подход ECCD (извлечение, очистка, согласование, доставка).
Убедитесь, что в каждом измерении есть BusinessKey, который однозначно идентифицирует «объект», который описывает строка измерения - например, электронная почта для человека.
При загруженных размерах подготовить конвейер поиска ключей. В целом, для каждой таблицы измерений вы можете подготовить таблицу поиска ключей (BusinessKey, PrimaryKey). Некоторые дизайнеры предпочитают просматривать таблицу измерений напрямую, но поиск по ключу часто легко кэшируется в памяти, что приводит к более быстрой загрузке фактов.
Используйте ECCD и для фактических данных. Часть ECC происходит в промежуточной области, вы можете выбрать (вспомогательные) таблицы или плоские файлы для каждого шага ECC, как вам удобнее.
При доставке таблиц фактов замените каждый BusinessKey в строке фактов на соответствующий PrimaryKey, полученный из таблицы поиска ключей. Как только все BusinessKeys будут заменены соответствующими PrimaryKeys, вставьте строку в таблицу фактов.
Не теряйте времени, используйте инструмент ETL. Вы можете скачать Pentaho Kettle (версия для сообщества) бесплатно - в нем есть все необходимое для достижения этой цели.