[SSIS] SSIS 2008: Les nouveautés en résumé (Lookup, Backpressure, Multithreading…)

J’ai récemment animé une session sur les nouveautés d’Analysis Services 2008. Ce n’est pas pour autant que je ne me suis pas penché sur celles de SSIS, outil important s’il en est dans le monde du décisionnel Microsoft en général et dans le Data Warehousing en particulier.

On peut en lister cinq, résumées dans la liste ci-dessous:

  • Tâche de Data Profiling
  • Rapports de Backpressure
  • Multithreading des pipelines
  • Utilisation de VSTA dans les scripts
  • Refonte du composant Lookup

Data Profiling

C’est une tâche entièrement nouvelle, et qui remplace ce qui se faisait avant dans le meilleur des cas par des scripts custom, et dans le pire manuellement… Elle permet de faire différentes analyses sur une table (attention, Connection Manager SQL Server uniquement!) telles que
– Detecter les patterns présents dans une colonne (où l’on aimerait qu’il n’y en ait qu’un seul comme un code postal, un numéro de téléphone…)
– Faire des stats sur le pourcentage de NULL
– Afficher les valeurs présentes…

Rapports de Backpressure

Vous le savez surement, SSIS dispose d’un mécanisme de limitation des buffers créés par le ralentissement des sources d’entrées, cela pour limiter le nombre de buffers ouverts en même temps (par exemple dans le cas d’une destination lente, ou d’une jointure avec une source lente) et donc la RAM utilisée sur le serveur d’éxécution: ce mécanisme s’appelle Backpressure. En 2005, la seule manière de savoir que ce mécanisme avait été appliqué était de regarder la performance de la source seule comparée a son utilisation combinée. En 2008, vous diposez d’un rapport de BP; affiché à la fin de l’éxécution sous cette forme:


Information: 0x400492E0 at Data Flow Task, DTS.Pipeline: During last execution
the pipeline suspended output "Output 0" (571) of component "ODS - SQL Server"
(96) for 260 milliseconds to limit the number of in-memory buffers.

Multithreading des Pipeline, Paths et Subpaths

SSIS 2005 dispose de la notion d’Execution Tree dans les Data Flows: une branche de data flow exécutée par un thread distinct. Pour exécuter un traitement sur des systèmes Multiprocesseurs, on connaissait des tricks en 2005 pour forcer la création d’Execution Trees supplémentaires (Union All par exemple pour les connaisseurs). En 2008 cette notion disparait qu profit de celle de Path. La ou 2005 créait un ET, 2008 crée un path, qu’il est capable de diviser en Subpathes automatiquement, qui seront exécutés par des threads distincts.

Si on prend l’exemple d’un multicast vers N destinations, il crée un ET monothreadé en 2005, il crée un Path de N Subpathes exécutés par N threads. C’est de plus une économie de mémoire car le trick des Union All duplique les buffer et sacrifie la RAM au profit du nombre de threads.

VSTA

La nouveauté surement la plus visible: remplacer VSA par VSTA permet
– d’attacher n’importe quel assembly
– de consommer des Web services
– de scripter en C#🙂
– …

Nouveau Lookup et Cache persistant

Première nouveauté intéressante en BI, la création du No-Match output, qui permet de différencier les erreurs des non-match (très utile pour les gens comme moi qui font de l’UPSERT avec des lookups).
La seconde: en 2005, le Lookup était limité aux sources OLEDB, cette limite a disparu, permettant de cacher a peu près tout et n’importe quoi; le cache peut de plus être rendu persistant (ie pour éviter son rechargement dans le cas, par exemple de plusieurs lookup sur la même donnée) via le nouveau Cache Connection Manager.

Le wizard a quelque peu changé pour refléter ces changements mais rien de foncitonnellement insurmontable.

En espérant vous avoir éclairés

A bientôt!

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s