Fonctionnement de l'architecture de l'entrepôt de données

L'entrepôt de rapports Team Foundation est un entrepôt de données traditionnel qui se compose d'une base de données relationnelle organisée dans un schéma en étoile approximatif et d'une base de données OLAP créée 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 avancée 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 Microsoft SQL Server 2005 pour stocker les données utilisées par l'outil dans ses opérations quotidiennes. Cette base de données relationnelle est souvent désignée sous le nom de magasin opérationnel. Les magasins opérationnels pour Team Foundation incluent :

  • Bases de données de structure commune (TfsIntegration et TfsActivityLogging)

  • Bases de données de suivi des éléments de travail (TfsWorkItemTracking et TfsWorkItemTrackingAttachments)

  • Base de données contenant le contrôle de code source (TfsVersionControl)

  • Base de données Team Foundation Build (TfsBuild)

  • Base de données Team Test (TfsBuild)

Des magasins opérationnels peuvent également être créés pour les outils tiers.

Comme 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 des données. Tout en exécutant une activité, l'outil ou le plug-in é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 constamment, et toutes les données sont actuelles.

Adaptateurs d'entrepôts

Dans la mesure où chaque outil ou plug-in a ses propres spécifications de schéma et que les données sont 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 transforme en un format standardisé et compatible avec l'entrepôt, puis écrit les données transformées dans la base de données relationnelle d'entrepôt. Il existe un adaptateur séparé pour chaque magasin de données opérationnel.

L'adaptateur d'entrepôt copie et transforme ces champs de données spécifiés dans la configuration d'entrepôt de base ou dans le modèle de processus utilisé au moment de la création d'un projet d'équipe. Si vous modifiez par la suite 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 la prochaine exécution 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 3 600 secondes, veillez à définir correctement la fréquence d'actualisation pour votre installation. Pour plus d'informations sur la modification de la fréquence d'actualisation, consultez Comment : modifier la fréquence d'actualisation de l'entrepôt de données.

Il est important que les données ne soient pas écrites entre la base de données relationnelle et le cube de données pendant la mise à jour de la base de données relationnelle à partir du magasin opérationnel. Pour éviter les conflits de lecture et d'écriture des données, les adaptateurs d'entrepôts qui effectuent des transmissions de types push et pull sont synchronisés. Une fois que les adaptateurs ont terminé leurs appels, le cube est traité à nouveau.

Base de données relationnelle d'entrepôt

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 à la base de données OLAP.

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égrouper les rapports pour en faire de plus petits. Une ligne d'une table de faits contient habituellement 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 a 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 des valeurs existant pour une dimension donnée. Les dimensions peuvent être partagées entre plusieurs tables de faits et cubes, et peuvent être référencées par une table de faits ou un cube de données unique. Par exemple, une dimension Personne sera 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, et elle sera référencée par la table de faits Évolution du code pour la propriété Archivé par.

Les mesures sont des valeurs provenant des données opérationnelles. Par exemple, Évolution totale du code est une mesure qui indique le nombre de modifications du code source dans les ensembles de modifications sélectionnés. Nombre est une mesure spéciale, car elle peut être implicite, tant qu'il existe un enregistrement pour chaque élément compté. Les mesures définies dans une table de faits constituent un groupe de mesures dans le cube.

Pour plus d'informations sur les faits, dimensions et mesures dans l'entrepôt de données, consultez Fonctionnement de la structure du cube de l'entrepôt de données.

Cube OLAP d'entrepôt

Les tables de faits constituent une bonne source d'informations pour les rapports affichant l'état actuel. Toutefois, pour établir des rapports sur les tendances des données évolutives, vous devez dupliquer les mêmes données pour chacun des intervalles pour lesquels vous souhaitez établir des rapports. Par exemple, pour établir des rapports sur les tendances journalières des éléments de travail ou des résultats des tests, l'entrepôt doit conserver l'état de chaque élément pour chaque jour. Cela permet au cube de données de regrouper les mesures par jour. Le cube de données OLAP d'entrepôt regroupe à la fois les données de temps et celles provenant du schéma en étoile sous-jacent 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 de la base de données relationnelle sont envoyées dans le cube OLAP, regroupées et stockées. Les données du cube sont regroupées de sorte que les rapports de haut niveau, qui sans cela exigeraient un traitement complexe à l'aide du schéma en étoile, ne soient plus que des instructions Select simples. Le cube fournit une place centrale pour obtenir des données pour les rapports sans avoir besoin de 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 2005 qui vous permet de définir l'entrepôt de données Team Foundation en tant que source de données, puis de concevoir un rapport de manière interactive. Le Concepteur de rapports fournit des fenêtres à onglets pour les données, la disposition et l'aperçu, et vous pouvez ajouter des groupes de données pour tenir compte d'une nouvelle idée sur la conception de rapports ou pour ajuster la disposition des rapports en fonction de l'aperçu des résultats. En plus des aires de conception Données, Disposition et Aperçu, le Concepteur de rapports fournit des générateurs de requêtes, un éditeur d'expression ainsi que des Assistants pour vous aider à placer des images ou pour vous guider lors du processus de création d'un rapport simple. Pour plus d'informations sur l'utilisation du Concepteur de rapports, consultez Utilisation du Générateur de rapports pour les rapports de Team Foundation Server.

Rapports Excel

Team Foundation s'intègre avec Microsoft Excel pour vous permettre d'utiliser Microsoft Excel pour gérer votre projet et produire des rapports. Microsoft Excel fournit des tableaux croisés dynamiques et des graphiques pour afficher et analyser des données multidimensionnelles. Vous pouvez lier directement ces tableaux croisés dynamiques au cube OLAP Team Foundation pour pouvoir interagir avec les données dans le cube. Pour plus d'informations sur l'utilisation de Microsoft Excel pour la création de rapports, consultez Utilisation de Microsoft Excel pour les rapports de Team Foundation Server.

Sécurité

La sécurité de l'entrepôt de données Team Foundation est définie au niveau de la base de données, alors que celle des 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 dans l'entrepôt de données en accordant ou en révoquant des autorisations sur le compte de l'utilisateur. Par défaut, l'accès en écriture à l'entrepôt est limité au compte de service sous lequel le service d'entrepôt s'exécute. Chaque adaptateur d'outil dispose d'un 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 aux utilisateurs individuels ou aux groupes d'utilisateurs. Un utilisateur qui a l'autorisation de consulter les données dans l'entrepôt pour un projet d'équipe spécifique dispose de l'accès complet à toutes les données pour ce projet. Toutefois, un utilisateur disposant de l'autorisation pour consulter les données pour un projet d'équipe ne peut pas consulter automatiquement les données d'un autre projet d'équipe. Pour plus d'informations sur l'octroi ou le refus de l'accès en lecture seule à l'entrepôt de données, consultez Comment : modifier les paramètres de sécurité de l'entrepôt de données.

Voir aussi

Autres ressources

Définition et configuration des cubes et des propriétés de cube
Concepteur de rapports
Vue d'ensemble des composants Reporting Services
Entrepôt de données de Team Foundation Server