Partager via


Composants de l'entrepôt de données TFS

L'entrepôt de création de rapports Team Foundation est un entrepôt de données traditionnel consistant en une base de données relationnelle organisée dans un schéma en étoile approximatif, et un cube SQL Server Analysis Services basé sur la base de données relationnelle. Le diagramme suivant illustre l'architecture de haut niveau de l'entrepôt de données Team Foundation, et les relations entre les magasins opérationnels, l'entrepôt de données et les rapports d'équipe.

Architecture de l'entrepôt de données

Magasins opérationnels

Chaque outil ou plug-in dans Team Foundation utilise une base de données relationnelle dans SQL Server 2008 pour stocker les données utilisées par l'outil dans ses opérations quotidiennes. Cette base de données relationnelle est souvent appelée magasin opérationnel. Les magasins opérationnels pour Team Foundation sont les suivants :

  • Bases de données de structure commune (Tfs_Configuration)

  • Bases de données de collection de projets d'équipe (Tfs_Collection)

Vous pouvez également disposer des magasins opérationnels créés pour des outils tiers.

Comme pour la plupart des magasins opérationnels, le schéma de la base de données relationnelle est conçu et optimisé pour le traitement transactionnel en ligne de données. Lorsque l'outil ou le plug-in effectue une activité, il écrit les informations les plus récentes dans le magasin opérationnel. Par conséquent, les données dans le magasin opérationnel changent et sont mises à jour en permanence.

Adaptateurs d'entrepôt

Chaque outil ou plug-in ayant ses propres exigences de schéma, et les données étant stockées dans le magasin opérationnel pour optimiser le traitement transactionnel, l'objectif de l'adaptateur d'entrepôt est de placer les données opérationnelles dans un formulaire utilisable par l'entrepôt de données. L'adaptateur d'entrepôt est un assembly managé qui extrait les données du magasin opérationnel, les convertit dans un format standardisé compatible avec l'entrepôt, et écrit les données transformées dans la base de données relationnelle de l'entrepôt. Il existe un adaptateur séparé pour chaque magasin de données opérationnelles.

L'adaptateur d'entrepôt copie et convertit les champs de données spécifiés en configuration d'entrepôt de base, ou en modèle de processus utilisé au moment de la création d'un projet d'équipe. Si vous modifiez ultérieurement le modèle de processus pour ajouter ou supprimer les champs de données écrits dans l'entrepôt de données, ces modifications sont détectées lors de l'exécution suivante de l'adaptateur. L'adaptateur s'exécute périodiquement à une fréquence définie par la propriété RunIntervalSeconds. Le paramètre par défaut pour la fréquence d'actualisation étant de deux heures (7 200 secondes), veillez à définir la fréquence d'actualisation appropriée pour votre installation. Pour plus d'informations sur la modification de la fréquence d'actualisation, consultez Modifier un paramètre de contrôle de processus pour l'entrepôt de données ou le cube Analysis Services.

Il est important qu'aucune donnée ne soit écrite dans le cube de données à partir de la base de données relationnelle pendant la mise à jour de celle-ci à partir du magasin opérationnel. Pour éviter les conflits de lecture et d'écriture de données, les adaptateurs d'entrepôt qui envoient et extraient les données sont synchronisés. Une fois les appels des adaptateurs terminés, le cube est retraité.

Entrepôt de données ou base de données relationnelle

Chaque outil décrit sa contribution à l'entrepôt de données dans un schéma XML. Le schéma spécifie les champs qui sont écrits dans la base de données relationnelle en tant que dimensions, mesures et détails. Le schéma est également mappé directement au cube.

Les données de l'entrepôt sont stockées dans un jeu de tables organisé dans un schéma en étoile. La table centrale du schéma en étoile est appelée table de faits, et les tables connexes représentent des dimensions. Les dimensions permettent de désagréger les rapports en éléments plus petits. Une ligne dans une table de faits contient généralement la valeur d'une mesure, ou une référence de clé étrangère à une table de dimension. La ligne représente l'état actuel de chaque élément couvert par la table de faits. Par exemple, la table de faits Élément de travail comprend une ligne pour chaque élément de travail stocké dans le magasin opérationnel Élément de travail.

Une table de dimension stocke le jeu de valeurs qui existent pour une dimension donnée. Les dimensions peuvent être partagées entre différents cubes et tables de faits, et peuvent être référencées par un cube de données ou une table de faits uniques. Par exemple, une dimension Personne est référencée par la table de faits Éléments de travail pour les propriétés Assigné à, Ouvert par, Résolu par et Fermé par. Elle est par ailleurs référencée par la table de faits Évolution du code pour la propriété Archivé par.

Les mesures sont des valeurs extraites des données opérationnelles. Par exemple, la valeur Nombre total d'évolutions est une mesure indiquant le nombre de modifications du code source dans les ensembles de modifications sélectionnés. Le nombre est une mesure particulière au sens où elle peut être implicite aussi longtemps qu'il existe un enregistrement pour chaque élément dénombré. Les mesures définies dans une table de faits constituent un groupe de mesures dans le cube.

Pour plus d'informations sur les faits, des dimensions et les mesures dans l'entrepôt de données, consultez Perspectives et groupes de mesures fournis dans le cube Analysis Services pour Visual Studio.

Cube Analysis Services

Les tables de faits constituent une bonne source d'informations pour les rapports qui montrent l'état actuel des affaires. Toutefois, pour rapporter des tendances de données qui changent au fil du temps, vous devez dupliquer les mêmes données pour chaque incrément de temps sur lequel vous voulez créer un rapport. Par exemple, pour effectuer un rapport sur des tendances quotidiennes en relation avec des éléments de travail ou des résultats de tests, l'entrepôt doit conserver l'état de chaque élément pour chaque jour. Le cube de données peut ainsi agréger les mesures par jour. Le cube agrège des données du schéma en étoile sous-jacent, et des données de temps dans des structures multidimensionnelles.

Chaque fois que le cube de données est traité, les données stockées dans les schémas en étoile dans la base de données relationnelle sont envoyées au cube, agrégées et stockées. Les données du cube sont agrégées afin que les rapports de haut niveau, qui requièrent normalement un traitement complexe à l'aide du schéma en étoile, soient des instructions SELECT simples. Le cube fournit un emplacement central pour obtenir des données pour des rapports sans avoir à connaître le schéma pour chaque magasin opérationnel, et sans devoir accéder à chaque magasin séparément.

Rapports du Concepteur de rapports

Le Concepteur de rapports est un composant de Visual Studio qui permet de définir l'entrepôt de données Team Foundation comme source de données de l'entrepôt de données, puis de concevoir un rapport de manière interactive. Le Concepteur de rapports fournit des fenêtres à onglets pour Données, Disposition et Aperçu, qui vous permettent d'ajouter des groupes de données adaptés à un nouveau concept de rapport, ou d'ajuster la disposition du rapport en fonction d'un aperçu des résultats. Outre les aires de conception Données, Disposition et Aperçu, le Concepteur de rapports fournit des générateurs de requêtes, un éditeur d'expressions et des assistants pour vous aider à placer des images, ou vous guider dans le processus de création d'un simple rapport. Pour plus d'informations sur l'utilisation du Concepteur de rapports, consultez Créer, personnaliser et gérer des rapports pour Visual Studio ALM.

Rapports Excel

Team Foundation s'intègre à Microsoft Excel pour vous permettre d'utiliser Microsoft Excel pour gérer votre projet et générer des rapports. Microsoft Excel fournit des tableaux croisés dynamiques et des graphiques pour l'affichage et l'analyse des données multidimensionnelles. Vous pouvez lier ces tableaux croisés dynamiques directement au cube Team Foundation afin de pouvoir interagir avec les données de celui-ci. Pour plus d'informations sur l'utilisation du Microsoft Excel pour la génération de rapports, consultez Créer des rapports Excel à partir d'une requête d'élément de travail.

Sécurité

La sécurité pour l'entrepôt de données Team Foundation est définie au niveau de la base de données, alors que la sécurité pour les rapports d'équipe est définie au niveau du projet d'équipe. L'administrateur Team Foundation Server détermine qui a accès aux données de l'entrepôt en accordant ou en refusant des autorisations sur le compte de l'utilisateur. Par défaut, l'accès en écriture à l'entrepôt est limité à un compte de service sous lequel s'exécute le service d'entrepôt. Chaque adaptateur d'outil a accès en écriture à l'entrepôt de données, car il s'exécute dans ce contexte de sécurité. L'accès en lecture seule est accordé par l'administrateur à des utilisateurs ou à des groupes d'utilisateurs. Un utilisateur autorisé à afficher les données de l'entrepôt a un accès complet à toutes les données pour tous les projets d'équipe dans toutes les collections de projets d'équipe. Pour plus d'informations sur l'octroi ou le refus d'accès en lecture seule à l'entrepôt de données, consultez Accorder l'accès aux bases de données de l'entrepôt de données pour Visual Studio ALM.