C'est une boîte de Pandore :)
Il existe quatre façons de gérer SSIS: SCD 1. Utilisation du intégré dans le composant 2. SCD « rouler soi-même » à l'aide Recherches, Divisions conditionnelles, Colonnes dérivées et diverses destinations. 3. Utilisation de T-SQL MERGE 4. Utilisation du composant tiers SCD de Kimball
Je vous alerterai de mon biais vers # 4 - je l'ai écrit. Mais voici mon analyse de la grappe.
1 est une bonne solution pour les dimensions "petites" et "faciles". Pourquoi est-il bon? C'est compréhensible, gère SCD 1 et 2, et est facile à configurer. Mais pourquoi seulement "petites" et "faciles" dimensions? Parce qu'il utilise une recherche interne non mise en cache (RBAR) qui ne peut pas être améliorée. Parce que si vous modifiez quelque chose dedans (relancez l'assistant), il détruit toutes les modifications que vous avez apportées au flux de données. Et parce qu'il ne gère pas les lignes où la sensibilité à la casse n'est pas importante, ou les espaces de fin ne sont pas importants.
2 est une bonne solution pour les grandes dimensions. C'est bien parce que cela fonctionne plutôt bien, et est «bien documenté» en ce sens que vous pouvez voir exactement ce qu'il fait à partir des noms des composants que vous utilisez et de la façon dont ils sont assemblés. Il est également facile de manipuler et de changer son fonctionnement. L'inconvénient est que cela prend du temps pour mettre en place et tester.
3 est une bonne solution pour les grandes dimensions. Il surpasse généralement toutes les autres alternatives. Mais c'est à peu près tout ce qu'il faut pour cela. C'est très complexe à coder, et pas très compréhensible sans tonnes de commentaires.
4 est une bonne solution pour à peu près n'importe quelle taille sauf peut-être des dimensions "énormes". Il est "facile" à utiliser comme le composant SCD de stock, fonctionne aussi bien ou mieux que 2, et est aussi configurable que 2.
More info on 4 here.
Merci Todd pour vos précieuses suggestions. Y at-il un exemple que je peux regarder en utilisant la méthode 3 (instruction de fusion) pour Hybrid Dim Table. – Sreedhar
Vous pouvez essayer ici: http://www.ssisbi.com/facilitating-a-delta-refresh-with-ssis-using-the-t-sql-merge-statement/ Ou ici: http: // www .ralphkimball.com/html/08dt/KU107_UsingSQL_MERGESlowlyChangingDimension.pdf –
Je me rends compte que c'est un vieux fil. Je viens juste de rentrer de l'entrainement de Kimball. Voir si ce code a du sens ... http://fromanoopv.blogspot.com/ –