Un des principaux enjeux des systèmes d’informations actuels réside en la gouvernance des données référentiels de l’entreprise. La politique de diffusion d’une « référence » (quelques soit la nature de celle-ci donnée géographique, produit, fiscale …) devient de plus en plus compliquée. Pourtant celle-ci permet de garantir l’intégrité de tous les systèmes la consommant. SQL Server 2012 permet de répondre à cette problématique en intégrant l’outil MDS (Master Datas Services) à un outil bureautique Excel 2010. Nous prendrons l’exemple d’un groupe automobile ayant pour objectif de rationaliser ses coûts en diffusant au sein du groupe un référentiel produit entrant dans la construction directe des véhicules. Chacune des filiales est à même de consommer ce référentiel et de le faire évoluer. Nous verrons comment, via MDS, répondre à cet objectif de gouvernance d’un référentiel unique au niveau groupe pouvant être enrichi par les entités (les différentes marques du groupe automobile). Nous répondrons alors aux questions suivantes : - Comment garantir un même référentiel sur toutes les entités groupes ? - Quel est le degré de modification du référentiel en garantissant la structure de base ? - Quel rôle joue le versionning ? - Quels sont les acteurs de mise à jour de ce référentiel et quels outils sont mis à disposition ? La session sera articulée autour de démonstrations mettant en œuvre une telle solution.
2. SQL Server 2012
Gérer vos données maitres avec
Master Data Services (MDS)
9 Février 2012
Frederic Gisbert, Mathias Ekizian, Raphael
Bijiaoui
Microsoft Consulting Services / Avanade
3. Le problème ?
Difficultés de consommer la donnée et d’en avoir un
aperçu entre systèmes
Chaque système possède une donnée formatée à ses
besoins opérationnels
Incohérences dans les données Incohérences dans
les résultats
Cycles longs pour répondre aux besoins business
Couts d’adaptation des systèmes
Homeless data
4. Master Data Management
Les Master Data Données non transactionnelles
Besoin de gestion de la qualité des données
Gestion centralisée
Facile d’accès pour les utilisateurs métiers
Efficience du partage (production et consommation)
Le Master Data Management (MDM)
Les règles métiers
Le processus
Les outils pour faciliter ces processus
5. Master Data Management
Typologie des données
Les données maitres
Les données constitutives
Les données paramètres
Critères de qualité
Unicité
Intégrité
Cohérence
Conformité
…
7. Master Data Services
“MDS is redefining the MDM space through”
Simplicité et facilité d'utilisation dans un domaine très
complexe
Réduire l'implication IT en permettant aux utilisateurs
métiers de gérer des modèles via Excel
Intégration avec Microsoft BI pour la gestion des
dimensions
Prix très compétitif
8. Principaux Scénarios d’Utilisation
Data Solution DWH / Datamart
Stockage et gestion des objets et des métadonnées Permet aux métiers de gérer les hiérarchies des
utilisés dans les processus métiers DWH/datamarts
Mapping des objets Scénarios de Business Intelligence
Correspondance des codifications
Données de références
Listes générées d’objets
Gestion de métadonnées / dictionnaire
de données
9. Fonctionnalités MDS
Définition du modèle
Validation
Entités, Attributs, Hiérarchies Déclaration de règles
métiers afin d’assurer la
cohérence des données
MDS
Add-In Excel Interface Correspondance
Gouvernance des Web des données
Sécurité basée sur des rôles données maîtres
(Intégration DQS)
Annotation des transactions
Gestion des
versions
Intégration & Partage
Batch de Récupération des Consommation des
Workflow /
chargement via une changements à données à travers
Notifications
zone de staging travers les APIs des vues
External
Excel DWH (CRM, ..)
10. Architecture MDS
Interface Add-In
Web Excel
WCF
Workflow / MDS Biztalk / Autres
Notifications Service
IIS Service
CRM/ERP
Biztalk / Autres
DWH Nettoyage et
BI
OLAP SSIS correspondance
(DQS)
SSIS
Zone de
Excel Vues
PW MDS Database staging par
d’abonnement
Pivot entité (EBS)
Systèmes Systèmes
externes
externes
11. Les principales notions dans MDS
Modèles
Le plus haut niveau dans la structure de données MDS Caractérisé par un état (ouvert, archivé…) et une version.
Entités
Représente le conteneur des données, en objets métier. Les entités sont liées au sein d’un même modèle.
Attributs
Caractérisation des membres Attributs à forme libre ou dépendants d’autres entités.
Membres
Les membres représentent les enregistrements des données dans les entités.
Hiérachies
Organisation hiérarchique de membres entre entités liées. Consolidation de membres d’une même entité
Collections
Sélections de membres d’une même entité. Possibilité d’appliquer une notion de poids sur chaque membre.
12. Scénario
Industrie automobile
Direction des achats
Référentiel des pièces / fournitures
Référentiel des projets / usines
Référentiel géographique
Chaque usine envoie de façon quotidienne les commandes de
pièces afin d’assurer l’alimentation en flux tendu des usines de
montage
Les demandes sont consolidées aux achats
Les référentiels sont à jour
Les données de commandes sont ventilées par usine
Un Dashboard global donne la situation en temps réel
14. Staging Area
Entity Based Staging Table Par Entité
Hiérarchie Membres consolidés et relations
Interface intuitive
Sécurisation de la zone de staging au niveau entité
Amélioration des performances
Intégration SQL Server Integration Services
15. Staging Area
Supporte tout type de modélisation
Possibilité de gestion par Batch
Les noms des tables sont modifiables
Table Description
stg.<Entity>_Leaf Création, mise à jour et suppression des membres
“feuilles” et de leurs attributs.
stg.<Entity>_Consolidated Création, mise à jour et suppression des membres
“consolidés” et de leurs attributs.
stg.<Entity>_Relationship Déplacement des membres dans une hiérarchie explicite.
16. Les types d’import
Import ID Name Description
All populated record information will loaded into the Entity when either the member does
0 or blank Merge Optimistic
not exist or the member exists. Nulls will be ignored.
Only new member records and their attributes will be loaded into the MDS entity all existing
1 Insert records will be flagged as member code already exists. No attributes on pre-existing records
will be updated.
All populated record information will loaded into the Entity when either the member does
2 Merge Overwrite not exist or the member exists any blank element in the EBS table will overwrite values
within the MDS entity.
Only the member code will be evaluated and these records will be soft deleted from the
3 Delete
MDS entity
Only the member code will be evaluated and these records will be removed from the MDS
4 Purge
entity version that these records are staged into.
Only the member code will be evaluated and these records will be soft deleted from the
MDS entity. This will set any Domain Based Attribute references to Null to complete the
5 Delete Override
operation.
Only the member code will be evaluated and these records will be removed from the MDS
entity version that these records are staged into. This will set any Domain Based Attribute
6 Purge Override
references to Null to complete the operation.
19. Gestion des erreurs
SQL Server 2008 R2 : 1 erreur indiquée par ligne
SQL Server 2012 : Toutes les erreurs sont signalées
Des vues permettent de visualiser ces logs d’erreur
Stg.viw_<entity stagingname>_MemberErrorDetails
21. Les vues d’abonnement
Possibilité d’exposer les entités sur des vues
d’abonnement
Compatibilité avec les Hiérarchies
Création de clé unique et entière sur tous les niveaux
Intégration avec des modèles multidimensionnels
MOLAP/VERTIPAQ
23. Outils de migration / montée de version
Migration de modèle
Copie du schéma ou schéma+données d’un environnement
vers un autre
Utilisation de l’inteface web : intégration d’un package
Utilisation MDSModelDeploy.exe : création/intégration d’un
package complet
Montée de version
Installation des binaires MDS à partir de l’assistant SQL
Server
Montée de version du schéma de la base SQL (outils de
config MDS)
25. Pour aller plus loin…
Venez nous voir sur le stand SQL Server
Retrouvez les experts Microsoft et MVP
Assistez à des présentations des offres de nos
partenaires
Inscrivez-vous au « Virtual Launch Event » du 8 mars :
http://aka.ms/vlefrance
Visitez notre nouveau site : http://www.microsoft.fr/sql
Evaluez dès aujourd’hui SQL Server 2012
En téléchargeant la RC0 : http://aka.ms/sql2012
En suivant nos « Virtual Labs » : http://aka.ms/sqllabs
Notes de l'éditeur
Les Master Data représentent les données non transactionnelles, situées au cœurs des processus métiers de l’entreprise (Clients, Produits, Assets…)Nécessite une gestion continue de la qualité des donnéesGestioncentralisée, souventorganisées par domaine (marketing, finance…)Facile d’accès pour les utiliteurs métiersEfficience du partage (production et consommation)Le Master Data Management (MDM) décrit :Les règles métiers (qui est propriétaire des données, où les données cohabitent)Le processus (comment les données sont mises à jour)Les outils pour faciliter ces processus
Maitres : Objets métiers principaux d’un domaine technique ou fonctionnelCe sont les données cœur du systèmle d »informationConstitutives Constitués d’attributs qui caéractérisent elles mêmes les données maitresParamètresValeur nomenclature : par exemple les codes sur chacune des entités, ces données sont les clés des systèmes les consommant
Une base de données SQL Server 2012, qui hébergeLe paramètrage de la plateforme MDSLa définition et le contenu des objets MDS (modèles, entités…) Un Site Web « Master Data Manager »Permet d’accomplir un certain nombre de tâches autours des modèles et de la plateforme MDSCette interface a été revue par rapport à la version 2008 R2Amélioration globale de l’ergonomie et des performancesLes fonctionnalités d’exploration et de gestion de l’intégration de données s’appuie désormais sur une interface en SilverlightAjout/Suppression/Filtrage de membres est facilitéeLe déplacement des membres dans les hiérarchies est facilité Un Addin Excel MDS compatible Excel 2007/2010Nouveauté de la version 2012Donne aux utilisateurs métiers l’accès aux modèles MDS afin de :D’extraire et de manipuler des jeux de données, en s’appuyant sur la puissance d’Excel et de charger ces jeux de données dans les modèles MDSCréer des nouveaux attributs et nouvelles entitésDe définir des contraintes et des relations entre entités, de vérifier la validité des contraintes et de les corrigerDe créer des raccourcis de connexion MDS, et de les partager dans une logique collaborative La définition du modèle : entité, attributs, hiérarchiesCréer les différents objets qui vont constituer le modèleDéclarer les types pour chaque attributs (taille, couleur…)Définir quelles sont les relations entre ces objetsDéclare des hiérarchies dérivées ou explicites, ainsi que des collections La validationVérifier la cohérence d’un modèle à travers l’application de règles métiersLe modèle est considéré comme « Validé » lorsque toutes les règles métiers sont appliquées, et qu’il n’y a aucune erreur de validation remontée par le système La cohérence des données DQSS’appuyer sur Data Quality Services afin de réaliser des correspondances de donnéesLa fonctionnalité est intégrée dans l’addin Excel MDSTrès utile pour éliminer la duplication de données S’appuie sur les bases de connaissances DQS déjà créesPossibilité d’enrichir ces connaissances en utilisant l’addin Excel MDS La gestion des versionsPossibilités de gérer et de cloner différentes versions d’un même modèle MDSLorsque l’on souhaite maintenir en parallele deux version d’un référentiel, un pour le trimestre en cours, et préparer le prochain trimestre avec une nouvelle versionPossibilité de définir des flags d’une versionPossibilité d’archiver (checkin) d’une version lorsque toutes les règles métiers sont appliquées et qu’il n’y a plus aucune modification nécessairePermet de verrouiller une version du modèle pour le conserver dans sa version « exacte » Sécurité basée sur des rôlesSécurité de niveau colonne (entité), et de niveau ligne >> définir des permissions à certains emplacements d’une hiérarchie (pays, zone géographique)Différents niveau x de granularité de la sécurité>> annotation des transactions : possibilité de saisir des commentaires à chaque saisies de données et possibilité d’auditer ces transactionsQui a changé quoi ?, quand ?, quelle était la raison ? Multiple niveauxd’intégrationIntegration SQL avec zone de staging qui permet de chargement en batchChargement de quantités plus importantes de données (initiatlisation), plus adapté qu’ExcelIntégration sur une couche WCF : possibilité de communiquer avec les APIs MDS (qui sont elles appellées par le Master Data Manager et par l’addin Excel)Consommation des données du modèles MDS à travers des vues qui exposent les entités sous formes de listes, de hiérarchiesPossibilité d’exploiter les fonctionnalités de workflow, qui s’appuient sur le service Broker de SQL Server et sur un service d’intégration (assemblyMicrosoft.MasterDataServices.Workflow) pour communiquer avec un workflow SharePoint ou un autre Workflow Custom via le « MDS WorkflowListener ».
Architecture 3 tiersCouche de base de données SQL ServerService WCF hébergé dans IIS Front EndOn retrouve le niveau d’intégration base de données avec : l’ « EntityBasedStaging » (chargement des entités depuis une zone de staging)La consommation des données à travers les « subscriptionsviews >>> possibilités d’utiliser les outils ETL pour charger les données ou pour les consommerPour des opérations plus sophistiquées, on peut s’appuyer sur les interfaces du services WCF, qui expose toutes les fonctionnalités MDS
Les modèles représentent le plus haut niveau dans l’organisation de MDS. Les modèles sont des conteneurs d’entités qui sont liées entre elles selon une logique métier commune. Seules les entités d’un même modèle peuvent être liées les unes aux autres. Sont caractérisés par un état et par une version. Les entités sont les conteneurs de données, sous une réprésentation d’objet métier, qui sont caractérisés par un certain nombre d’attributs. Dans une forme très simpliste, elles peuvent être vues comme les tables d’une base de données. Les attributs sont les différentes typologies d’information que l’on peut retrouver dans une entité pour caractériser ses membres. Comparables aux colonnes d’une table de base de données. En plus du code (identifiant métier dans l’entité) et de l’information correspondant aux noms, on peut retrouver des attributs libres, ou qui sont dépendant d’autres entités, afin de créer des relations entre les entités. Possibilité de constituer des groupes d’attributs pour améliorer la lisibilité. Les membres correspondent aux enregistrements au sein des entités. Les membres peuvent être de type feuille, ou de type consolidés :les membres feuilles qui sont les membres primaires d’une entitéles membres consolidés, avec des attributs propres, permettent de regrouper des membres au sein d’une même entité Les hiérarchies sont des arborescences logiques qui représentent des relations entre les membres, dans lesquelles chaque membre a un seul parent.Elles permettent de grouper des consolider des membres, notamment pour des problématiques analytiques et de reporting.On retrouve deux types de hiérarchies :les hiérarchies dérivées qui s’appuient sur les relations entre différentes entités d’un même modèleles hiérarchies explicites qui sont construites à partir des membres d’une seule entité, en combinant les membres feuilles et consolidésPossbilité de gérer les hiérarchies (déplacer les membres) dans l’interface web « Hierarchy Explorer ». Les sélections qui permettent de constituer de manière très flexible des sélections de membres fins/consolidés d’une même entité, dans lesquelles il est possible de définir des notions de pondération pour chaque membre de la collection.
Le chargement en mode batch « EntityBasedStaging »More intuitive interfaceAbility to secure staging at the entity levelSignificant Performance improvementsEasy integration with Sql Server Integration ServicesLes tables de staging de 2008R2 existent toujours mais ne sont plus utilisable depuis l’application Web « Master Data Manager ».Dans 3 tables dans 2008R2 : les membres, les attributs de membres, et les relationsDans 2012 : les tables de staging sont crées par entités, avec deux tables additionnelles : les membres consolidés et les relations.
Les tag permettent de donner un nom au flux de données entrant et de le visualiser dans l’interface web de pilotage de l’intégration.Des batchD sont assignés dans la table de staging au moment du chargement.Possibilité de lancer la procédure stockée de chargement en précisant le batch tag.
Quand on delete, on change le statusID d’une occurrence.Toutes les transactions sont toujours conservées, l’enregistrement existe encore en base.>> Si on redeclare un même code >> alreadyexists ! >> dans ce cas, besoin de purger les informations de l’occurenceEn cas de suppression accidentelle, on peut annuler la transaction dans le transaction managerAvec le delete/purge override, on ne tiens pas compte des entités liées à l’entité à supprimer, qui contiennent la référence nulle
Outils de migration et montée de versionImportant de comprendre la différence entre les deux concepts : Migration : copier un schéma de modèle avec ou sans les données, d’un environnement vers un autre environnement, important que les deux environnements soient au même niveau de version MDS.Ex : copier un modèle depuis un environnement de développement vers un environnement de test, il s’agit d’une migration de modèleLes migrations sont effectuées à partir de package (.pkg) qui sont des fichiers XML .Les outils :L’interface Web pour créer et intégrer des packages contenant uniquement les schémas des modèles MDS, sans les donnéesOutil en ligne de commandesMDSModelDeploy qui se trouve dans le dossier « Configuration » au sein des binaires installés de MDS pour créer et intégrer des packages qui contiennent les schémas et les données du modèlesChoix du mode déploiement Clone/Update/New (basé sur un système d’IDs dans la base)>> Déploiement en mode « Update » : migration des nouveaux objets (entités, attributs, règles métier) >> pas de suppression d’objetOutil graphiqueModelPackageEditorqui permet d’extraire certains objets d’un package (entités, hiérarchies…) afin de constituer un nouveau package.>> Déploiement en mode « partiel ». Montée de version : il s’agit de passer d’un niveau de version MDS à un niveau supérieurex : passer d’une version 2008R2 à 2012, nous faisons une montée de version2 étapes :Installations des binaires à travers l’assistant SQL ServerModifier la base SQL en utilisant le « Gestionnaire de configuration MDS » qui propose le Database Upgrade Wizard 2008R2 > 20122012 RCO to RTMPossibilité de restaurer une base 2008R2 sur une installation 2012 puis d’appliquer la montée de version du schéma.>> une fois montée en version 2012, la base n’est plus utilisable avec une installation MDS antèrieure. Back up your database before performing any upgrade.The upgrade process recreates stored procedures and upgrades tables used by Master Data Services. Any customizations you have made to either of these components may be lost.Model deployment packages can be used only in the edition of SQL Server they were created in. You cannot deploy model deployment packages created in SQL Server 2008 R2 to SQL Server 2012 RC0.