Data Warehouse-Architektur
Aktualisiert: November 2007
Das Team Foundation-Berichterstellungswarehouse ist ein herkömmliches Data Warehouse, das aus einer relationalen Datenbank besteht, die in einem annähernd sternförmigen Schema organisiert ist, und einer OLAP-Datenbank, die auf die relationale Datenbank aufsetzt. Im folgenden Diagramm werden die allgemeine Architektur des Team Foundation-Data Warehouse und die Beziehungen zwischen den betriebsinternen Speichern, dem Data Warehouse und den Teamberichten veranschaulicht.
Betriebsinterne Speicher
Jedes Tool bzw. Plug-In in Team Foundation verwendet eine relationale Datenbank in Microsoft SQL Server 2005, um die in Routinevorgängen verwendeten Daten zu speichern. Eine solche relationale Datenbank wird häufig als betriebsinterner Speicher bezeichnet. Zu den betriebsinternen Speichern für Team Foundation zählen:
Datenbanken mit gemeinsamer Struktur (TfsIntegration und TfsActivityLogging)
Datenbanken zur Arbeitsaufgabenverfolgung (TfsWorkItemTracking und TfsWorkItemTrackingAttachments)
Datenbank zur Quellcodeverwaltung (TfsVersionControl)
Team Foundation-Builddatenbank (TfsBuild)
Team-Testdatenbank (TfsBuild)
Für Tools von Drittanbietern können ebenfalls betriebsinterne Speicher verwaltet werden.
Wie die meisten betriebsinternen Speicher ist das Schema der relationalen Datenbank für die transaktionale Onlineverarbeitung von Daten konzipiert und optimiert. Wenn das Tool bzw. Plug-In eine Aktivität ausführt, werden die aktuellen Informationen in den betriebsinternen Speicher geschrieben. Deshalb werden Daten im betriebsinternen Speicher laufend geändert und aktualisiert, und alle Daten sind stets auf dem aktuellen Stand.
Warehouseadapter
Da jedes Tool bzw. Plug-In eigene Schemaanforderungen aufweist und Daten im betriebsinternen Speicher zum Optimieren der transaktionalen Verarbeitung gespeichert werden, besteht der Zweck des Warehouseadapters darin, die Betriebsdaten in ein Format umzusetzen, das vom Data Warehouse verwendet werden kann. Der Warehouseadapter ist eine verwaltete Assembly, die die Daten aus dem betriebsinternen Speicher extrahiert, die Daten in ein standardisiertes Format transformiert, das mit dem Warehouse kompatibel ist und die transformierten Daten in die relationale Datenbank des Warehouse schreibt. Für jeden betriebsinternen Datenspeicher ist ein separater Adapter vorhanden.
Der Warehouseadapter kopiert und transformiert diese Datenfelder, die entweder in der grundlegenden Warehousekonfiguration oder in der Prozessvorlage angegeben sind, die beim Erstellen eines neuen Teamprojekts verwendet wird. Wenn Sie die Prozessvorlage später ändern und in das Data Warehouse zu schreibende Datenfelder hinzufügen bzw. entfernen, werden diese Änderungen bei der nächsten Ausführung des Adapters erkannt. Der Adapter wird regelmäßig in einem Intervall ausgeführt, das mit der RunIntervalSeconds-Eigenschaft festgelegt wird. Die Standardeinstellung für das Aktualisierungsintervall beträgt 3.600 Sekunden. Bedenken Sie daher das geeignete Aktualisierungsintervall für die jeweilige Installation. Weitere Informationen zum Ändern des Aktualisierungsintervalls finden Sie unter Gewusst wie: Ändern des Aktualisierungsintervalls des Data Warehouses für Team System.
Es ist zu berücksichtigen, dass beim Aktualisieren der relationalen Datenbank aus dem betriebsinternen Speicher keine Daten aus der relationalen Datenbank in den Datencube geschrieben werden. Um Konflikte beim Lesen und Schreiben von Daten zu vermeiden, werden die Warehouseadapter synchronisiert, die die Push- und Pullvorgänge für die Daten ausführen. Nach dem Abschließen der Aufrufe der Adapter wird der Cube erneut verarbeitet.
Die relationale Warehouse-Datenbank
Jedes Tool beschreibt seinen Beitrag zum Data Warehouse in einem XML-Schema. Im Schema sind die Felder angegeben, die als Dimensionen, Measures und Details in die relationale Datenbank geschrieben werden. Das Schema wird der OLAP-Datenbank ebenfalls direkt zugeordnet.
Die Daten im Warehouse werden in einer Reihe von Tabellen gespeichert, die in einem Sternschema organisiert sind. Die zentrale Tabelle des Sternschemas wird als Faktentabelle bezeichnet, und die zugehörigen Tabellen stellen Dimensionen dar. Dimensionen ermöglichen das Auflösen von Berichten in kleinere Bestandteile. Eine Zeile in einer Faktentabelle enthält normalerweise entweder den Wert eines Measures oder einen Fremdschlüsselverweis auf eine Dimensionstabelle. Die Zeile stellt den aktuellen Zustand jedes Elements dar, das in der Faktentabelle berücksichtigt ist. Die Faktentabelle Arbeitsaufgabe enthält beispielsweise eine Zeile für jede Arbeitsaufgabe, die im betriebsinternen Speicher für Arbeitsaufgaben gespeichert ist.
In einer Dimensionstabelle werden die Werte gespeichert, die für eine bestimmte Dimension vorhanden sind. Dimensionen können verschiedenen Faktentabellen und Cubes gemeinsam sein, und auf sie kann durch eine einzelne Faktentabelle oder einen einzelnen Datencube verwiesen werden. Auf eine Person-Dimension wird beispielsweise von der Faktentabelle Arbeitsaufgaben für die Eigenschaften Zugewiesen an, Geöffnet von, Gelöst von und Geschlossen von verwiesen, und es wird von der Faktentabelle Codeänderung für die Eigenschaft Eingecheckt von auf sie verwiesen.
Measures sind Werte, die für die Betriebsdaten aufgenommen werden. Änderung gesamt ist beispielsweise ein Measure, das die Anzahl der Quellcodeänderungen in den ausgewählten Changesets angibt. Count ist insofern ein spezielles Measure, als es implizit sein kann, solange ein Datensatz für jedes gezählte Element vorhanden ist. Die in einer Faktentabelle definierten Measures bilden im Cube eine Measuregruppe.
Weitere Informationen zu den Fakten, Dimensionen und Measures im Data Warehouse finden Sie unter Grundlagen der Struktur des Data Warehouse-Cubes.
Der Warehouse-OLAP-Cube
Faktentabellen sind eine gute Informationsquelle für Berichte, die den aktuellen Stand wiedergeben. Beim Erstellen von Berichten zu Trends von Daten, die sich mit der Zeit ändern, müssen Sie jedoch die Datenmenge für jeden Berichtszeitpunkt duplizieren. Wenn Sie beispielsweise einen Bericht zu den Tagestrends für Arbeitsaufgaben oder Testergebnissen erstellen möchten, muss im Warehouse der Zustand der einzelnen Elemente für jeden Tag verwaltet werden. Dadurch können im Datencube die Measures nach Tagen aggregiert werden. Im Warehouse-OLAP-Datencube werden sowohl die Daten aus dem zugrunde liegenden Sternschema als auch die Zeitdaten in mehrdimensionalen Strukturen aggregiert.
Bei jeder Verarbeitung des Datencubes werden die in den Sternschemas der relationalen Datenbank gespeicherten Daten in einem Pullvorgang in den OLAP-Cube übertragen, aggregiert und gespeichert. Die Daten im Cube werden so aggregiert, dass allgemeine Berichte, für die andernfalls komplexe Verarbeitungsvorgänge auf der Grundlage des Sternschemas erforderlich wären, einfache SELECT-Anweisungen darstellen. Der Cube stellt einen zentralen Punkt zum Abrufen von Daten für Berichte dar, ohne dass dabei das Schema für die einzelnen betriebsinternen Speicher bekannt sein und ohne dass dabei separat auf jeden Speicher zugegriffen werden muss.
Berichte des Berichts-Designers
Der Berichts-Designer ist eine Komponente von Visual Studio, mit der das Team Foundation-Data Warehouse als Datenquelle definiert und anschließend interaktiv ein Bericht entworfen werden kann. Der Berichts-Designer enthält Fenster mit Registerkarten für Daten, Layout und Vorschau, und Sie können Datasets hinzufügen, um Ideen für neue Berichtsdesigns umzusetzen, oder Sie können das Berichtslayout entsprechend den Vorschauergebnissen anpassen. Zusätzlich zu den Entwurfsoberflächen Daten, Layout und Vorschau bietet der Berichts-Designer Abfrage-Generatoren, einen Ausdrucks-Editor sowie Assistenten, die Sie beim Platzieren von Bildern und beim Ausführen der Schritte beim Erstellen eines einfachen Berichts unterstützen. Weitere Informationen zum Verwenden des Berichts-Designers finden Sie unter Erste Schritte mit benutzerdefinierten Berichten für Team System.
Excel-Berichte
Team Foundation ist in Microsoft Excel enthalten, um das Verwalten von Projekten und das Erstellen von Berichten mithilfe von Microsoft Excel zu ermöglichen. Microsoft Excel bietet PivotTables und PivotCharts zum Anzeigen und Analysieren mehrdimensionaler Daten. Sie können diese PivotTables direkt an den Team Foundation-OLAP-Cube binden, sodass Sie mit den Daten im Cube interagieren können. Weitere Informationen zur Verwendung von Microsoft Excel zur Berichterstellung finden Sie unter Verwenden von Microsoft Excel für die Team Foundation Server-Berichterstellung.
Sicherheit
Die Sicherheit für das Team Foundation-Data Warehouse wird auf der Datenbankebene definiert, während die Sicherheit für Teamberichte auf der Teamprojektebene definiert wird. Der Team Foundation Server-Administrator legt fest, welche Personen auf die Daten im Data Warehouse zugreifen können, indem er Berechtigungen für das Konto des jeweiligen Benutzers gewährt bzw. widerruft. Standardmäßig wird der Schreibzugriff auf das Warehouse auf ein Dienstkonto beschränkt, unter dem der Warehousedienst ausgeführt wird. Jeder Tooladapter hat Schreibzugriff auf das Data Warehouse, da er in diesem Sicherheitskontext ausgeführt wird. Einzelnen Benutzern oder Benutzergruppen wird vom Administrator schreibgeschützter Zugriff gewährt. Ein Benutzer mit der Berechtigung zum Anzeigen der Daten im Warehouse für ein bestimmtes Teamprojekt verfügt über uneingeschränkten Zugriff auf alle Daten für das betreffende Projekt. Ein Benutzer mit der Berechtigung zum Anzeigen der Daten für ein Teamprojekt kann jedoch nicht automatisch auch die Daten anderer Teamprojekte anzeigen. Weitere Informationen zum Gewähren bzw. Verweigern des schreibgeschützten Zugriffs auf das Data Warehouse finden Sie unter Gewusst wie: Ändern der Sicherheitseinstellungen für das Data Warehouse für Team System.