SSIS Design Patterns David Joubert Thomas Ricquebourg.

Slides:



Advertisements
Présentations similaires
Les concepts de bases de la simulation
Advertisements

"Les outils pour créer un site web facilement" Niveau Débutant.
Présentation des technologies SharePoint 2007
Les technologies décisionnelles et le portail
PC / Traitement numérique / Contrôle Environnement logiciel
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 2 : Bases de données partie 2 : Fichiers, Journalisation.
Microsoft Dynamics TM NAV Isabelle Saint-Martin Mehdi El Yassir Chef de produit Microsoft Dynamics NAV Consultant Avant-Vente
1 HPC pour les opérations. Sommaire Quelques rappels sur Windows Compute Cluster Server Déploiement de Compute Cluster Administration de Compute cluster.
Comment créer une alerte WMI ? WMI Windows Management Instrumentation Outils : SQL Server Management Studio SQL Agent Patrick Guimonet Architecte Infrastructure.
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 6 : Protection des données Bertrand Audras Microsoft Technology Center.
Le programme Evolution
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Catalogue des partenaires Microsoft Microsoft Ressources Directory.
1 HPC pour les opérations. Administration Compute Cluster Server.
Assistant paramétrage. du moteur de base de données
Configuration de la Surface dexposition SQL Server 2005 SQL Server Surface Area Configuration Outils : Configuration de la Surface dexposition SQL Server.
Agréger les infos SITRA et réservation sur mon site
Alimenter son site web avec SITRA – les grandes options techniques
Excel 2007 et les services Excel. Pourquoi Excel ? Outil privilégié danalyse des données issues des bases multidimensionnelles Ergonomie connue des outils.
3ème édition.
3 Octobre 2013 Les Communautés MS. La BI a pris le pouvoir dans Excel.
SQLSaturday #251 – Paris 2013 Saisie de données pour la BI Elle est où mon interface?
VI. Analyse des solutions techniques
| Project Ways Exia A2 Groupe Carles – Corbisier – Juzanx - Pareil.
© 2011 Autodesk AutoCAD LT ® 2012 Nouveautés. © 2011 Autodesk AutoCAD LT 2012 | Découvrez la productivité Avec AutoCAD LT ® 2012, de nouvelles améliorations.
Gestion du cycle de vie des applications Lotus Notes Ady Makombo Directeur Teamstudio France
10 ans de DBA Sham UNMAR Philippe PIMENTA. 10 ans de DBA Sham UNMAR Philippe PIMENTA.
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
Présentation commerciale
Amélioration de la sécurité des données à l'aide de SQL Server 2005
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
Les Webcasts Groupe des Utilisateurs SQL Server Avril 2014 – Statistiques Incrémentales Fred Pichaut – Microsoft Senior.
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
Développement d’un réseau social professionnel
VI. Analyse des solutions techniques
22 Web Platform Installer pour faciliter la mise en œuvre de votre plateforme Web 9 Février 2010 Alban OlierLaurent Bonnet
Le moteur SQL Server 2008 R2 par l'exemple (DAT304)
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
Patrons de conceptions de créations
22 Intégrer Reporting Services SQL 2008 R2 à votre application 09/02/2010 Mathieu ROSPIDE – Winwise Julien TOURNADRE – Winwise.
Entity Framework 4 Mitsuru FURUTA Relations techniques développeurs
Pratiques et expériences du Projet BI Agile (Biml/NBi)
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
#JSS2014 Les journées SQL Server 2014 Un événement organisé par GUSS.
5 Les progiciels de gestion et les opportunités associées.
22 DBA DAY - Administrer facilement des environnements SGBD hétérogènes Anthony Moillic Directeur Technique
PRÉCISIONS SUR LE CDCF. VOUS ALLEZ RÉALISER LE CROQUIS DU MEUBLE QUE VOUS SOUHAITEZ CONCEVOIR. CEPENDANT, VOTRE CROQUIS, RÉPONDRA-T-IL AUX ATTENTES, AUX.
Module 9 : Transfert de données. Vue d'ensemble Présentation du transfert de données Outils d'importation et d'exportation de données disponibles dans.
ETL - Pentaho Data Integration
Les 2 personnes doivent réussir un des examens ci-dessous Site Formation & CertificationSite Formation & Certification l Réserver sa date d’examen l Devenir.
Ceci est une session expert Cette session est déconseillée aux novices des moteurs Analysis Services 2000 ou 2005 La session « Découverte de Analysis.
Améliorer la performance des organisations en apportant à toutes les équipes la meilleure compréhension de leur activité pour des décisions plus rapides.
Présentation février 2002 Relations Visiblement Meilleures.
Palais des congrès Paris 7, 8 et 9 février Vous êtes dans la salle
Une nouvelle manière de visualiser le fichier de contrôle de System Automation LUDIWAC ® Helcia Conseil.
10 février 2010 Sylvain Quéméner et Caroline Moulin Consultants
22 Lag110 : Le développement SharePoint 2010 avec Visual Studio 2010 Mardi 9 février 2010 Frédéric Wickert Partner Technical Specialist Microsoft.
Apports des clients riches dans le monde du WEB 2.0
Projet du fin d’études Conception et développement d’une application web pour la gestion d’un tour opérateur Réalisé par : Mohamed Yosri YAHYAOUI.
Search IM Nouvelle Interface adCenter Avril 2007.
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
Fiery Workflow Suite Fiery Color Profiler Suite v4.6 Pour des couleurs exceptionnelles, précises et régulières What's new in Color Profiler Suite version.
@GUSS_FRANCE.
RAPIDO SITUATION ▪France & Europe MÉTIER ▪Construction de véhicules automobiles (2910Z) NOMBRE D’EMPLOYÉS ▪600 CHIFFRE D’AFFAIRES SOLUTION.
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
SQLSATURDAY 420 – PARIS 2015 SQL 2016, UN NOUVEAU SOUFFLE POUR LA B.I. MICROSOFT ON PREMISE ?
UX Design : Optimisez l’expérience de vos utilisateurs ! Le design au service de vos utilisateurs et de votre business.
SQLSaturday Paris 2015 SSAS et le moteur relationnel Faire son choix.
SQLSaturday Paris 2015 SSDT-DB pour les sceptiques! Cédric L. Charlier.
1 Interne Orange Accédez à votre système d'information depuis votre terminal mobile Nomalys.
Transcription de la présentation:

SSIS Design Patterns David Joubert Thomas Ricquebourg

Merci à nos sponsors

Les speakers Thomas Ricquebourg David Joubert Consultant décisionnel Blog : BIppy & Smile (thomasricquebourg.wordpress.com/) David Joubert Architecte décisionnel Blog : La BI et les outils Microsoft (joubertd.blogspot.fr) Twitter : @Dj_Uber

Agenda Introduction Pourquoi des design patterns ? Points forts et points faibles de SSIS Exemple de design patterns Paralléliser des traitements Chargement de fichiers Gestion du SCD Gestion des Upsert Range Lookup Gestion des NULL substitution Conclusion A partir de ces différents David/Thomas et moi nous avions déterminé ce que nous allons vous présenter aujourd’hui

SSIS : petite chronologie de l’ETL chez Microsoft SQL Server 7 : Data Transformation Services (DTS) Ancêtre de l’ETL sur SQL Server (Plutôt ELT d’ailleurs) SQL Server 2005 : SQL Server Integration Services Refonte complet de l’ETL de Microsoft Releases mineures sur SQL Server 2008/2008R2 Release majeure sur SQL Server 2012 Release mineure sur SQL Server 2014

Il faut sauver le soldat SSIS Aujourd’hui, l’accent est mis sur la BI Self-Service où l’utilisateur importe directement ses données MAIS Si vous voulez… alimenter un data warehouse batcher des traitements aller plus loin que la seule importation des données Si vos volumétries sont importantes SSIS reste votre principal allié Anecdote : un projet BI, c’est 70% du temps consacré à importation, nettoyage, et transformation des données => importance de SSIS

Pourquoi des design patterns ? Qu’est-ce c’est ? Modèles de conception répondant à des problématiques récurrentes Pourquoi ? Pour optimiser et rationaliser le développement Comment, quand et où ? En utilisant les bons composants pour chaque situation qui se présente dans notre outil de développement « Design Pattern » c’est tout simplement les modèles de conception que l’on va utiliser pour faire face à des problématiques récurrentes. Ce terme à la base est utilisé dans la programmation. Mais on peut aussi mettre en place des modèles de conception dans SSIS. Comme par exemple la gestion des mises à jours, la gestion de l’historique ou encore mettre en place la supervision de notre solution,

« Je suis un smiley … Ou pas ?» Design Pattern c’est un peu flou… prenons plus l’exemple avec les schéma/dessin dans Paint sans notions de conception artistique on arrive à faire . Faire un visage c’est tout simple… ce n’est que des ronds mais sans notion de patron de visage on essaye de faire à la main. Certes le style est original… A regarder cette image ..on peut se dire on dirait un smiley

« Je suis un smiley ! » Avec des notion de patron, et en connaissant extrèmement Paint on arrive à d’une de trouver les ronds et par de multiple tentative et de test on arrive à faire quelque chose de plus conventionnel et beau  Certes la beauté est subjective …mais c’est comme cela que cela doit être fait.

« On dirait un chargement de DWH… ou des flux de données spécifiques » C’est pareil lorsqu’on est dans SSDT et qu’on travaille sur un projet SSIS. A gauche un package qui contient plusieurs DFT … on dirait un master Et a droite le contenu d’un DFT on dirait un chargement de données avec soit un update soit un insert… « On dirait un chargement de DWH… ou des flux de données spécifiques »

« C’est un chargement parallélisé de DWH Haaa c’est un chargement de DWH parraléliser avec gestion d’erreur Et en regardant le DFT je confirme on retrouve les ingrédients d’un chargement classique de dimension sans prise en charge de SCD 2. Voilà ce que c’est qu’implémenter des design pattern, mettre en place des solutions face à des cas récurrents : une sorte de norme de traitement de la donnée. « C’est un chargement parallélisé de DWH avec un DFT de dimension SCD1 »

Outil de développement Application à SSIS Dépend de plusieurs paramètres Outil de développement SSDT Données & Volumétrie Infrastructure Performance Compétences Ressources

Points forts et points faibles de SSIS Optimiser ses packages  bien connaître l’outil Points Forts Points Faibles Outil complet Forte maintenabilité Travail en mémoire Bonne ergonomie Parfois moins performant que du script SQL Gestion de métadonnées figée Scénario

Points forts et points faibles de SSIS Bloquant Semi Non bloquant Conditionnal Split X Data Conversion Derived Column Lookup Multicast Merge Merge Join Union All Pivot Aggregate Sort Important de connaître le caractère synchrone ou asynchrone des composants Il faut connaitre les composant d’un DFT car ce sont qui vont dicter certaines pratique. Lien : http://sqlblog.com/blogs/jorg_klein/archive/2008/02/12/ssis-lookup-transformation-is-case-sensitive.aspx

Démo Moteur SQL VS SSIS

Parallélisation La parallélisation peut être appliquée sur les 3 objets de SSIS: Package Control Flow Data Flow Efficace pour gagner en performance Propriétés : MaxConcurrentExecutables et EngineThreads => Diviser votre solution en operations simples permettra une plus grande facilité de parallélisation http://www.solidq.com/sqj/Pages/Business_Intelligence/Diving-into-the-SSIS-execution-engine.aspx http://www.sql-server-performance.com/2009/ssis-an-inside-view-part-4/ thomas

Démo Parallélisation

Chargement de fichiers Plus que la performance, il s’agit ici de rationaliser et d’uniformiser le chargement de ses fichiers : Fichiers multiples (boucle foreach) Gestion des erreurs Gestion des types Archivage

Démo Package de chargement d’un fichier csv

SCD - Slowly Changing Dimension Concept de base en Business Intelligence Composant existant dans SSIS, optimisation à apporter à la configuration de base. Composants tiers disponibles : Kimball Method SCD (payant sur 2012) Thomas

Démo Utilisation du composant SCD de base dans SSIS et Optimisation

Upsert Cas particulier du SCD 1 On insère ou on update les lignes 3 (en plus du composant SCD vu précédemment) possibilités : Double lookup Double lookup vers table temporaire Script SQL avec MERGE Cas du merge join

Démo Comparaison de 3 packages avec les 3 possibilités d’upsert

Range Lookup Le range lookup correspond à un lookup sur une theta-jointure On attend la feature depuis 2005 4 possiblités : Lookup Conditionnal split Script SQL Tho,as

Démo Différence entre les 3 packages avec range lookup

Dernière petite astuce : NULL Substitution Lorsque vous récupérez les lignes qui ne matchent pas sur un lookup Vous remplacez le NULL par la clé inconnue => Plus judicieux de configurer du « Ignore Error » et de remplacer les NULL en une seule fois Thomas

Démo Package avec NULL Substitution

Conclusion Oui il existe des design pattern pour nous faciliter la vie Attention : utiliser des design patterns, ce n’est pas uniquement améliorer la performance. Il y a des contraintes d’ergonomie et de maintenabilité à prendre en compte Aujourd’hui, la réutilisation des composants et des packages n’est pas aisée : mais bon espoir pour demain via BIML par exemple : http://www.varigence.com/Products/Biml/Capabilities

Pour aller plus loin http://www.amazon.fr/Server-Integration-Services-Design-Patterns/dp/1430237716

Questions

MERCI