2010-04-18 4 views
0

Je suis juste en train de commencer une nouvelle tâche, dans laquelle j'ai besoin de charger la table de dimension hybride avec SCD1 et SCD2. Cela doit être réalisé en tant que paquet SSIS. Quelqu'un peut-il guider ce qui serait la meilleure façon de traiter cela dans SSIS, devrais-je utiliser le composant SCD ou il y a d'autres moyens? Quelles sont les meilleures pratiques pour cela?Chargement de la table de dimension hybride avec les attributs SCD1 et SCD2 + SSIS

Pour le type SCD2, utilisez l'instruction Merge.

Merci

Répondre

5

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.

+0

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

+0

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 –

+0

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/ –

Questions connexes