Les nouveautés “méconnues” de SSIS 2012

Speaker : Matt Masson (équipe de développement SSIS et camarade d’ATE)

Je suis arrivé et Matt présentait déjà un Data Flow. Je n’ai pas tout compris car il a fallu accrocher les wagons mais en vrac :

  • Facebook Source : nouveau composant, 3rd party ou développement custom ?
  • composant StreamInsight : utilisation de StreamInsight pour détecter des patterns directement dans un flux SSIS; j’adore mais je ne sais pas d’où il l’a sorti
  • composant MDS :  utilisation des informations de vos référentiels MDS (ici un Lookup)

La session a ensuite démarré… c’était juste pour occuper l’audience en attendant. Ce qui fait que je ne sais pas si ce sont des futures fonctionnalités, de la RTM, du SP1, de la prochaine version…

Place aux fonctionnalités annoncées pour la RTM

Je ne vais pas revenir sur les grandes améliorations de SSIS sauf par ce court résumé :

  • amélioration du développement : corrections des bugs, nouveaux designers, nouveaux composants, etc.
  • amélioration de la production : serveur SSIS, notion de projets, logs automatiques, etc.

Je vous laisse consulter mes précédents posts et les articles complets que je vais faire sur le sujet.

Je vais en revanche pointer les fonctionnalités présentées en session et il y a de quoi faire. Tout n’est pas dans la CTP3 donc je ne peux pas vous faire de démo.

 

Change Data Capture

Pas besoin de présenter le CDC apparu en 2008 (j’avais fait un article sur le sujet, il est encore dispo ici) ? En 2 mots, c’est un moyen d’obtenir rapidement les modifications d’une table dans un intervalle de temps. Les modifications sont stockées dans des tables systèmes et, à la différence de la vieille méthode des triggers, c’est le moteur qui gère tout.

Tout cela est très utile pour un ETL qui doit transférer ces modifications dans un DataWarehouse (ou tout autre système qui en aurait besoin).

Avec SQL Server 2012 arrive le CDC pour Oracle et le support du CDC dans SSIS

  • CDC Oracle : un service Windows (et une application de gestion) s’occupe de récupérer les changements depuis une base Oracle
  • SSIS CDC Control Task : permet d’effectuer des opérations sur le CDC comme récupérer les bons LSN
  • SSIS CDC Source : permet de récupérer sous la forme d’un flux de données les modifications de données
  • SSIS CDC Splitter Transformation : comme le composant SCD, il permet de différencier dans des flux différents les ajouts, les modifications et les suppressions

Tout cela rend le CDC encore plus attrayant et je suis content de l’ajout de ces composants.

 

ODBC source/destination

Avec l’arrêt d’OLEDB et un revirement vers ODBC, il est évident que les composants sources et destinations allaient aussi suivre le mouvement.

Microsoft annonce de meilleures performances sans grandes explications. J’attends de voir car ça ressemble plus à la stratégie “je m’accroche aux branches”.

En tout cas, les composants sont là et ils fonctionnent Sourire.

 

Shared Connection Manager

J’en avais déjà parlé, la gestion des connexions a été grandement améliorée. On peut promouvoir une connexion au niveau projet (et inversement), mettre offline une connexion, etc.

Lors de la session, j’ai pu voir des petits icones apparaitre pour indiquer si une connexion utilise une expression ou si elle est offline.
Cela ne marche que pour les connexions malheureusement. Il vous reste BIDSHelper qui apporte ce genre de confort de façon générale.

 

Flat Files

Je n’ai pas encore testé et la démo a été extrêmement rapide mais 2 améliorations arrivent sur les fichiers plats :

  • Meilleure gestion des Text qualifier (quand ils sont imbriqués)
  • Nombre de colonnes variable (ie. meilleure gestion des séparateurs)

 

Code XML

Il est maintenant beaucoup plus propre et plus court. Il est enfin lisible ; des nœuds ont été transformés en attributs et le positionnement a été revu et placé à la fin.

Cela permet une chose : le Merge de packages

Enfin on va pouvoir travailler à plusieurs sur le même DTSX, en multiple checkout dans TFS avec un merge de fichiers XML lisible.

Attention, ce n’est pas non plus trivial et des erreurs sont encore possibles.

 

Debug des Script Components dans le Data Flow

Je crois que tout est dit, sauf peut-être : merci Sourire

 

Pilotage via Poweshell

La gestion du serveur (création, exécution, administration) se fait entièrement avec des procédures T-SQL. Cependant, l’équipe SSIS a développé une API en .NET au dessus (qui lance donc du T-SQL avec ADO.NET) et cette API est Powershell-isable.

Donc vous pouvez administrer, déployer, gérer votre serveur SSIS en PowerShell.

 

Data Viewers –> Data Taps

Les Data Viewers que vous mettez en développement pour voir ce qui passe entre les composants sont maintenant disponibles à l’exécution sur le serveur et s’appellent des Data Taps.

En plus des logs automatiquement gérés par le serveur, il est possible (pour l’administrateur uniquement) de placer ces Data Taps sur les Paths (ex : \Package\aDFTtask\Paths[SourceSQL.ConversionDate]) de vos Data Flow.

Les données sont dumpées dans un fichier CSV et rassurez vous, il est possible de limiter les colonnes et le nombre de lignes exportées.

 

Integration Services Dashboard

Dans Management Studio, il y a depuis quelques temps déjà des rapports sur les différents éléments aidant grandement à l’administration (mon préféré est Disk Usage Sourire).

Avec le logging automatique du serveur SSIS, SSMS nous offre des tableaux de bord qui exploitent ces données.

On peut donc en quelques clics voir, entre autres :

  • les packages exécutés
  • les packages en erreur
  • les historiques d’exécution
  • les temps d’exécution des différentes partie (avec historisation)
  • etc.

 

Correlated Logging

Afin de profiter des logs automatiques avec votre propre log métier (custom logging), vous avez à disposition une variable (je ne me souviens plus du nom mais c’est du genre @User::BatchID) pour pouvoir corréler par la suite les différents logs.

Dependency Services // Projet Barcelona

Pour finir, je vais parler brièvement du projet Barcelona.

J’ai pu faire des démos (MS Days Toulouse) et parler de Dependency Services sorti avec de la CTP1. Dependency Services est sorti de Denali avec la CTP3 pour vivre sa propre vie.

L’idée reste la même : tracer toutes les dépendances des données entre les composants d’une solution BI (sources, SQL, packages SSIS, rapports, modèles PowerPivot, etc.).

L’objectif est de pouvoir répondre à des questions comme : que ce passe t-il si je supprime cette colonne ?

Je suis maintenant en relation avec l’équipe de développement car j’adore le projet et donc je ne vais pas tarder à vous en parler plus en détail.

Le projet est prévu pour sortir juste après SQL Server 2012 et en attendant, suivez ce blog ou celui de l’équipe : http://blogs.msdn.com/b/project_barcelona_team_blog/

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