Загрузка таблицы гибридных размеров с атрибутами SCD1 и SCD2 + SSIS
Я только в процессе запуска новой задачи, в которой мне нужно загрузить таблицу гибридных измерений со SCD1 и SCD2. Это должно быть достигнуто как пакет служб SSIS. Кто-нибудь может подсказать, как лучше всего справиться с этим в службах SSIS, следует ли использовать компонент SCD или есть другой способ? Каковы лучшие практики для этого.
Для типа SCD2 я использую оператор Merge.
Спасибо
1 ответ
Это банка глистов:)
Существует четыре основных способа обработки SCD в SSIS: 1. Использование встроенного компонента SCD. 2. "Прокрутка собственного" с помощью поиска, условных разбиений, производных столбцов и различных назначений. 3. Использование T-SQL MERGE 4. Использование стороннего компонента Kimball SCD
Я предупрежу вас о своем уклоне в сторону #4 - я написал это. Но вот мой анализ группы.
1 - хорошее решение для "маленьких" и "легких" размеров. Почему это хорошо? Это понятно, обрабатывает SCD 1 и 2 и прост в настройке. Но почему только "маленькие" и "легкие" размеры? Потому что он использует внутренний некэшированный поиск (RBAR), который нельзя улучшить. Потому что, если вы что-то измените в нем (перезапустите мастер), это уничтожит все изменения, которые вы внесли в поток данных. И потому что он не будет обрабатывать строки, где чувствительность к регистру не важна, или конечные пробелы не важны.
2 - хорошее решение для больших размеров. Это хорошо, потому что он работает довольно хорошо и "хорошо документирован" в том смысле, что вы можете точно увидеть, что он делает, из названий компонентов, которые вы используете, и того, как они соединены. Также легко манипулировать и изменять его работу. Недостатком является то, что для настройки и тестирования требуется время.
3 - хорошее решение для огромных размеров. Обычно он превосходит все другие альтернативы. Но это все, что у него есть. Это очень сложный код и не очень понятный без тонны комментариев.
4 - хорошее решение практически для любого размера, за исключением, может быть, "огромных" размеров. Он "прост" в использовании, как стандартный SCD-компонент, работает так же хорошо или лучше, чем 2, и настраивается так же, как 2.