Quelles sont les bonnes pratiques Microsoft SSIS pour mieux gérer le développement de packages ? Voici quelques conseils à appliquer lorsque l’on utilise Microsoft SSIS dans un projet BI. Pour mener à bien ses projets décisionnels, notamment en termes de temps de développement et de robustesse. Mais aussi en terme de performances de chargement de données.
Ces méthodes sont, d’une manière plus large des Bests Practices Microsoft. Elles sont à appliquer aux projets Microsoft Business Intelligence et ETL. Depuis la version 2008 et jusqu’aux versions 2012, 2014, 2016, 2017 et 2019. Les bonnes pratiques SSIS à travers plusieurs axes, dont 4 sont développés ici plus en détail.
1. Structurer les packages SSIS
Tout d’abord, le but est de faciliter le développement et les évolutions fonctionnelles et techniques dans un projet Microsoft SSIS. Pour cela, organiser et 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 décisionnel. C’est à dire le processus ETL complet. Par ailleurs, systématiquement nommer tous les composants qui composent le Flux de contrôle. Ainsi que tous les Flux de données, avec des règles de nommage bien spécifiques.
Dans le cas où vos installations SQL Server et Integration Services sont sur le même serveur physique, utiliser la destination SQL Server. Plus adaptée que la destination OLE DB, elle permet d’améliorer les performances et les temps de chargement.
2. Bonnes pratiques pour utiliser les flux de données SSIS
Le composant central est le flux de données dans le package, et les bonnes pratiques SSIS à ce niveau sont donc fondamentales. Toujours commenter le code et définir les variables. Cette règle concerne le chemin des fichiers, des dossiers et les paramètres de connexion. Pour les colonnes, nommer les sources et les cibles de la même façon. Afin que le mapping SSIS puisse se faire automatiquement.
Définir les bons types de données à la source 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 la base de données SQL.
Alimenter les tables de dimension en parallèle en les regroupant dans un container de type Séquence. Surtout pour des chargements avec des volumes important de données, c’est à dire plusieurs millions de lignes. Mettre en place un partitionnement sur les tables de faits. Charger les données dans une table temporaire sans aucun index, ni contrainte.
Ensuite, indexer et ajouter les contraintes sur la table temporaire, intégrer la table temporaire dans la table avec partition, qui est la table cible du processus ETL.
Eviter au maximum les opérations bloquantes et en particulier 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 utiliser des requêtes SQL et configurer la source de données en activant l’option Source Triée dans les packages SSIS.
3. Traiter les cubes SSAS depuis SSIS
Pour obtenir un process ETL performant et intégré, il est très intéressant de réaliser le process des cubes directement depuis un package SSIS. Il est possible d’utiliser le composant SSIS pour traiter les cubes SSAS. Le composant se nomme Analysis Services Processing Task en Anglais. Ou Tâche de Traitement d’Analysis Services sur les versions Française de Visual Studio.
4. Paramétrer un maximum les variables dans les packages
Pour être indépendant de l’environnement, définir des variables d’environnements 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 des serveurs, le nom des bases, le chemin des fichiers, etc. Si possible le nom des utilisateurs.
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 par exemple.
De plus, le chemin permettant l’accès au fichier de configuration peut lui-même être défini à l’aide d’une variable d’environnement. Ainsi il est indépendant de la plateforme et facilite les déploiements de packages Integration Services.
5. Conclusion sur les bonnes pratiques pour le développement SSIS
En conclusion, pour développer des packages SSIS avec Visual Studio 2019, il est important de suivre les bonnes pratiques suivantes :
- Utilisez les paramètres de projet pour stocker les chaînes de connexion et les valeurs de configuration.
- Utilisez les variables SSIS pour stocker les valeurs qui peuvent varier d’un package à l’autre.
- Utilisez les connexions à l’aide de variables plutôt que de les incorporer dans les composants.
- Divisez les packages en tâches logiques plus petites.
- Développez des scripts réutilisables.
- Utilisez des contrôles de flux pour gérer les erreurs et les événements inattendus.
- Testez les packages de manière approfondie avant de les déployer en production.
- Utilisez la documentation pour suivre les modifications et la maintenance des packages.
- Utilisez des outils de gestion de code source tels que Git pour suivre les modifications de code.
- Utilisez les options de package pour améliorer les performances.
En suivant ces bonnes pratiques, les développeurs peuvent créer des packages SSIS efficaces, maintenables et faciles à déployer.
Soyez le premier à commenter