Informazioni sull'architettura dei data warehouse
Aggiornamento: novembre 2007
Il warehouse di report di Team Foundation è un data warehouse tradizionale costituito da un database relazionale organizzato in uno schema a stella approssimativo e da un database OLAP compilato sul database relazionale. Il diagramma seguente illustra l'architettura di alto livello del data warehouse di Team Foundation e le relazioni tra gli archivi operativi, il data warehouse e i report del team.
Archivi operativi
Ogni strumento o plug-in di Team Foundation utilizza un database relazionale in Microsoft SQL Server 2005 per archiviare i dati utilizzati dallo strumento durante le operazioni quotidiane. Questo database relazionale è spesso detto archivio operativo. Gli archivi operativi per Team Foundation includono:
Database con struttura comune (TfsIntegration e TfsActivityLogging)
Database di gestione degli elementi di lavoro (TfsWorkItemTracking e TfsWorkItemTrackingAttachments)
Database di controllo del codice sorgente (TfsVersionControl)
Database Team Foundation Build (TfsBuild)
Database di test del Team (TfsBuild)
È inoltre possibile creare archivi operativi per strumenti di altri produttori.
Come la maggior parte degli archivi operativi, lo schema del database relazionale è progettato e ottimizzato per l'elaborazione transazionale in linea di dati. Durante l'esecuzione di un'attività, lo strumento o il plug-in scrive le informazioni più aggiornate nell'archivio operativo. I dati nell'archivio operativo, pertanto, vengono continuamente modificati e aggiornati e sono sempre correnti.
Adattatori del warehouse
Poiché ogni strumento o plug-in ha requisiti di schema propri e i dati sono archiviati nell'archivio operativo per ottimizzare l'elaborazione transazionale, lo scopo dell'adattatore del warehouse è quello di inserire i dati operativi in un form che possa essere utilizzato dal data warehouse. L'adattatore del warehouse è un assembly gestito che estrae i dati dall'archivio operativo, li trasforma in un formato standardizzato compatibile con il warehouse, quindi scrive i dati trasformati nel database relazionale del warehouse. È disponibile un adattatore separato per ogni archivio dati operativo.
L'adattatore del warehouse copia e trasforma i campi dati specificati nella configurazione del warehouse di base o nel modello di processo utilizzato alla creazione di un nuovo progetto Team. Se successivamente si modifica il modello di processo per aggiungere o eliminare i campi dati scritti nel data warehouse, queste modifiche vengono rilevate alla successiva esecuzione dell'adattatore. L'adattatore viene eseguito periodicamente con una frequenza impostata dalla proprietà RunIntervalSeconds. L'impostazione predefinita per la frequenza di aggiornamento è 3.600 secondi. È opportuno valutare attentamente la frequenza di aggiornamento appropriata per una specifica installazione. Per ulteriori informazioni sulla modifica della frequenza di aggiornamento, vedere Procedura: modificare la frequenza di aggiornamento del data warehouse per Team System.
È importante che i dati non vengano scritti dal database relazionale nel cubo dei dati mentre è in corso l'aggiornamento del database relazionale stesso dall'archivio operativo. Per evitare conflitti durante la lettura e la scrittura dei dati, gli adattatori del warehouse che eseguono operazioni push e pull dei dati sono sincronizzati. Dopo il completamento delle chiamate degli adattatori, il cubo viene rielaborato.
Database relazionale del warehouse
Ogni strumento descrive il proprio contributo al data warehouse in uno schema XML. Tale schema specifica i campi scritti nel database relazionale come dimensioni, misure e dettagli. Dello schema viene inoltre eseguito il mapping direttamente nel database OLAP.
I dati nel warehouse sono archiviati in un insieme di tabelle organizzato in uno schema a stella. La tabella centrale dello schema a stella è denominata tabella dei fatti e le tabelle correlate rappresentano le dimensioni, le quali forniscono i mezzi per disaggregare i report in parti più piccole. Una riga in una tabella dei fatti contiene di solito il valore di una misura o di un riferimento della chiave esterna a una tabella delle dimensioni. La riga rappresenta lo stato corrente di ogni elemento incluso nella tabella dei fatti. Ad esempio, la tabella dei fatti Elemento di lavoro contiene una riga per ogni elemento di lavoro memorizzato nell'archivio operativo Elemento di lavoro.
Una tabella delle dimensioni archivia l'insieme di valori esistente per una determinata dimensione. Le dimensioni possono essere condivise tra tabelle dei fatti e cubi diversi ed è possibile fare riferimento a esse da una sola tabella dei fatti o cubo dei dati. A una dimensione Persona, ad esempio, viene fatto riferimento dalla tabella dei fatti Elementi di lavoro per le proprietà Assegnato a, Aperto da, Risolto da e Chiuso da e dalla tabella dei fatti Varianza del codice per la proprietà Archiviato da.
Le misure sono valori derivati dai dati operativi. Ad esempio, Varianza totale è una misura che indica il numero di modifiche del codice sorgente negli insiemi di modifiche selezionati. Conteggio è una misura speciale in quanto può essere implicita, purché sia presente un record per ogni elemento conteggiato. Le misure definite in una tabella dei fatti costituiscono un gruppo di misure nel cubo.
Per ulteriori informazioni sui fatti, sulle dimensioni e sulle misure nel data warehouse, vedere Informazioni sulla struttura del cubo del data warehouse.
Cubo OLAP del warehouse
Le tabelle dei fatti sono un'ottima fonte di informazioni per i report che mostrano lo stato corrente della situazione. Per segnalare le tendenze per i dati che si modificano nel tempo, tuttavia, è necessario duplicare gli stessi dati per ogni incremento del tempo per cui si desidera generare un report. Per segnalare le tendenze quotidiane per elementi di lavoro o risultati di test, ad esempio, è necessario che il warehouse mantenga lo stato di ogni elemento per ogni giorno. In questo modo, è possibile aggregare le misure per giorno nel cubo dei dati. Il cubo dei dati OLAP del warehouse aggrega sia i dati dallo schema a stella sottostante sia i dati temporali in strutture multidimensionali.
A ogni elaborazione del cubo dei dati, i dati archiviati negli schemi a stella nel database relazionale vengono estratti nel cubo OLAP, aggregati e archiviati. I dati nel cubo vengono aggregati in modo che i report di alto livello, i quali richiederebbero altrimenti elaborazioni complesse tramite lo schema a stella, siano semplici istruzioni select. Il cubo costituisce una posizione centrale da cui ottenere dati per i report senza dover conoscere lo schema per ogni archivio operativo né accedere a ogni archivio separatamente.
Report di Progettazione report
Progettazione report è un componente di Visual Studio che consente di definire il data warehouse di Team Foundation come origine dati, quindi di progettare un report in modo interattivo. Progettazione report dispone di finestre a schede per Dati, Layout e Anteprima e consente di aggiungere dataset per adattare una nuova idea di progettazione di report o modificare il layout del report in base ai risultati dell'anteprima. Oltre alle aree di progettazione Dati, Layout e Anteprima, in Progettazione report sono disponibili generatori di query, un editor di espressioni e procedure guidate che semplificano l'inserimento di immagini o il processo di creazione di un report semplice. Per ulteriori informazioni sull'utilizzo di Progettazione report, vedere Guida introduttiva ai report personalizzati per Team System.
Report di Excel
Team Foundation si integra con Microsoft Excel per consentire l'utilizzo di Microsoft Excel per la gestione dei progetti e la generazione di report. Microsoft Excel offre tabelle pivot e grafici per la visualizzazione e l'analisi di dati multidimensionali. È possibile associare direttamente queste tabelle pivot al cubo OLAP di Team Foundation, allo scopo di interagire con i dati nel cubo. Per ulteriori informazioni sull'utilizzo di Microsoft Excel per la generazione di report, vedere Utilizzo di Microsoft Excel per la generazione di report di Team Foundation Server.
Sicurezza
La sicurezza per il data warehouse di Team Foundation viene definita a livello di database, mentre la sicurezza per i report del team è a livello di progetto Team. L'amministratore di Team Foundation Server stabilisce quali utenti possono accedere ai dati del data warehouse concedendo o revocando le autorizzazioni sull'account di ciascuno. Per impostazione predefinita, l'accesso in scrittura al warehouse è limitato a un account del servizio in cui viene eseguito il servizio warehouse. Ogni adattatore di strumento ha accesso in scrittura al data warehouse perché è in esecuzione in questo contesto di sicurezza. L'accesso in sola lettura è concesso dall'amministratore a singoli utenti o gruppi di utenti. Un utente con autorizzazione alla visualizzazione dei dati nel warehouse per un determinato progetto Team ha accesso completo a tutti i dati per tale progetto. Un utente con autorizzazione alla visualizzazione dei dati per un progetto Team, tuttavia, non può visualizzare automaticamente i dati di un altro progetto Team. Per ulteriori informazioni sulla concessione o la negazione dell'accesso in sola lettura al data warehouse, vedere Procedura: modificare le impostazioni di sicurezza del data warehouse per Team System.