Bonnes pratiques Microsoft SSIS




Quelles sont les bonnes pratiques Microsoft SSIS ? Nous allons passer en revue quelques « Bests Practices » à appliquer lorsque l’on utilise Microsoft SSIS dans un projet pour mener à bien ses projets Microsoft BI, notamment en termes de temps de développement et de performances des chargements de données.

Ces méthodes que l’on peut inclure d’une manière plus large aux « Bests practices Microsoft », sont à appliquer aux projets Microsoft Business Intelligence et ETL sous SSIS 2005, 2008, 2008 R2 et également 2012, même si certains nouveaux modules SQL Server 2012 sont spécifiques et ne sont pas abordés dans cet article.

 

Structurez vos packages SSIS

Dans le but de faciliter le développement ainsi que les évolutions fonctionnelles et techniques dans un projet Microsoft SSIS, organiser et de regrouper dans plusieurs packages SSIS les développements, de façon logique. Chaque chargement d’une table de faits ou d’une dimension doit correspondre à un seul package SSIS tout comme le pilotage du chargement des dimensions.
L’enchaînement des chargements des dimensions et des tables de faits correspond au pilotage global du projet BI, c’est à dire tout le processus ETL.

Vous devez également systématiquement nommer tous les composants qui composent votre « Control Flow » ainsi que tous les « DataFlow », avec des règles de nommages bien spécifiques. Dans le cas où vos installations « SQL Server et Integration Services » sont sur le même serveur, utiliser la destination SQL Server au lieu de la destination OLE DB de façon à ce que vous amélioriez les performances et les temps de chargement.

 

Utilisation du composant Data Flow

Toujours commenter votre code et bien définir les variables en ce qui concerne le chemin des fichiers ainsi que les paramètres de connexion. En ce qui concerne les colonnes, nommer les colonnes sources et les colonnes cible de la même façon afin que le « mapping » puisse se faire automatiquement.

Définir les bons types de données pour éviter de faire des conversions de données. Ne jamais sélectionner les colonnes non utilisées au niveau de la source, cela ne sert strictement à rien. Effectuer les conversions de types de données dans SQL.

 

Traitement des cubes Analysis Services

Alimenter les tables de dimension en parallèle est une en les regroupant dans un container de type « séquence », surtout pour des chargements avec des volumes important de lignes. Mettre en place un partitionnement sur les tables de faits, charger les données dans une table temporaire sans aucun indexes, ni contraintes. Ensuite il faut indexer et ajouter les contraintes sur la table temporaire, intégrer la table temporaire dans la table avec partition, qui est la table cible de notre processus ETL.

Eviter au maximum de faire des opérations bloquantes en particuliers les tris qui sont très gourmands en temps et en ressources. Réaliser au maximum les tris au niveau du SGBD, c’est à dire en utilisant des requêtes SQL et configurer la source de données en activant l’ option « source triée » dans les packages SSIS.

 

Paramétrage d’un package SSIS

Afin d’être indépendant de l’environnement, définir une variable d’environnement pour spécifier le chemin physique du fichier de configuration dtsconfig. Paramétrer tous les éléments variant d’un environnement à un autre comme le nom d’un serveur, le nom des bases, le chemin d’un fichier, si possible le nom des utilisateurs, etc. Enregistrer les paramètres de configuration des packages SSIS en base afin de faciliter le déploiement, la maintenance, l’exploitation et les évolutions futures sur les packages. Définir le lien vers la base de données à l’aide d’un fichier de configuration.

Le chemin permettant l’accès au fichier de configuration doit lui-même être défini à l’aide d’une variable d’environnement pour être indépendant de la plateforme et faciliter les changements d’environnements.

 

 




Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*