Team Foundation 資料倉儲的元件
Team Foundation 報告倉儲是傳統的資料倉儲,由近似星型結構描述中組織的關聯式資料庫以及以關聯式資料庫為建置基礎的 SQL Server Analysis Services Cube 所組成。 下圖顯示 Team Foundation 資料倉儲的高階架構,以及作業存放區、資料倉儲和小組報表之間的關聯性。
本主題內容
作業存放區
倉儲配接器
倉儲關聯式資料庫
Analysis Services Cube
報表設計師報表
Excel 報表
安全性
作業存放區
Team Foundation 中的每個工具或外掛程式都會在 SQL Server 2008 中使用關聯式資料庫來儲存該工具在每天的作業中所使用的資料。 這個關聯式資料庫通常稱為作業存放區。 Team Foundation 的作業存放區包括:
通用結構資料庫 (Tfs_Configuration)
Team 專案集合資料庫 (Tfs_Collection)
您也許還有針對協力廠商工具所建立的作業存放區。
與大多數的作業存放區類似,關聯式資料庫的結構描述是針對資料的線上交易處理而設計和最佳化。 當工具或外掛程式執行活動時,它會將最新的資訊寫入作業存放區。 因此,作業存放區中的資料會不斷地變更和更新,所有的資料都會保持在最新狀態。
倉儲配接器
由於每個工具或外掛程式都具有本身的結構描述需求,而資料會儲存在作業存取區中以針對交易處理作業進行最佳化,所以倉儲配接器的目的就是將作業資料呈現為資料倉儲可以使用的形式。 倉儲配接器是一種 Managed 組件,它會從作業存放區擷取資料、將資料轉換為與倉儲相容的標準化格式,並將轉換後的資料寫入倉儲關聯式資料庫。 每個作業資料存放區都有個別的配接器。
倉儲配接器會複製並轉換在基本倉儲設定中所指定的資料欄位,或在建立新 Team 專案時所使用的流程範本中指定的資料欄位。 如果之後因為加入或刪除寫入資料倉儲的資料欄位而變更了流程範本,則下次執行配接器時就會偵測到這些變更。 配接器會以 RunIntervalSeconds 屬性所設定的頻率定期執行。 重新整理頻率的預設設定為兩小時 (7,200 秒),所以請針對您的安裝仔細考慮適當的重新整理頻率。 如需變更重新整理頻率的詳細資訊,請參閱 How to: Change the Refresh Frequency。
當關聯式資料庫本身從作業存放區進行更新時,不能將資料從關聯式資料庫寫入資料 Cube,這點很重要。 若要避免讀寫資料時發生衝突,發送和提取資料的倉儲配接器必須進行同步處理。 在配接器完成其呼叫之後,就會重新處理 Cube。
倉儲關聯式資料庫
每個工具都會以 XML 結構描述來描述它提供給資料倉儲的資料。 結構描述會將寫入關聯式資料庫的欄位指定為維度、量值和詳細資料, 也會直接對應到 Cube 中。
倉儲中的資料會儲存在以星型結構描述組織的一組資料表中。 此星型結構描述的中央資料表稱為事實資料表,而相關的資料表則代表維度。 維度可以用來將報表分解為較小的部分。 事實資料表中的資料列通常會包含量值的值或是維度資料表的外部索引鍵參考。 該資料列代表事實資料表所涵蓋之每個項目的目前狀態。 例如,「工作項目」事實資料表就針對儲存在「工作項目」作業存放區中的每個工作項目具有一個資料列。
維度資料表會儲存指定之維度所具有的一組值。 不同事實資料表和 Cube 可以共用維度,而且可以由單一事實資料表或資料 Cube 參考維度。 舉例而言,「人員」維度可由「工作項目」事實資料表用來參考「指派給」、「開啟者」、「解決者」和「關閉者」屬性,也可由「程式碼變換」事實資料表用來參考「簽入者」屬性。
量值是取自作業資料的值。 例如,「變換總計」這個量值會指出原始程式碼在選取之變更集中變更的次數。 「計數」是一個特殊的量值,因為它可以是隱含的,只要每個計數的項目都擁有一筆記錄即可。 在事實資料表中定義的量值會構成 Cube 中的量值群組。
如需資料倉儲中事實、維度和量值的詳細資訊,請參閱Team System 之 Analysis Services Cube 中提供的透視圖和測量群組。
Analysis Services Cube
對於顯示目前事務狀態的報表而言,事實資料表是很好的資訊來源。 不過,如果要報告會隨時間變化之資料的趨勢,則需要針對要報告的每段時間複製相同的資料。 例如,若要報告工作項目或測試結果的每日趨勢,則倉儲需要保留每天每個項目的狀態。 這樣可以讓資料 Cube 每天彙總量值。 Cube 會將基礎星型結構描述的資料和時間資料彙總為多維結構。
每次在處理資料 Cube 時,儲存在關聯式資料庫星型結構描述中的資料就會提取到 Cube 中,並加以彙總和儲存。 Cube 中的資料會進行彙總,如此一來,高階報表就成了簡單的 Select 陳述式,再也不需要使用星型結構描述進行複雜的處理。 這個 Cube 可提供取得報表資料的集中位置,您不需要知道每個作業存放區的結構描述,也不必個別存取每個存放區。
報表設計師報表
報表設計師是 Visual Studio 的一個元件,可讓您將 Team Foundation 資料倉儲定義為資料來源,並以互動方式設計報表。 報表設計師會提供 [資料]、[配置] 和 [預覽] 索引標籤式視窗,而且您可以加入資料集以提供新的報表設計概念,或者根據預覽結果來調整報表的配置。 除了 [資料]、[配置] 和 [預覽] 設計介面以外,報表設計師還提供查詢產生器、運算式編輯器,以及協助您放置影像或逐步建立簡單報表的精靈。 如需使用報表設計師的詳細資訊,請參閱建立、自訂和管理 Visual Studio ALM 的報表。
Excel 報表
Team Foundation 會與 Microsoft Excel 整合,以便讓您使用 Microsoft Excel 來管理專案和產生報表。 Microsoft Excel 會提供用於檢視和分析多維資料的樞紐分析表和圖表。 您可以將這些樞紐分析表直接繫結至 Team Foundation Cube,如此就可以與 Cube 中的資料互動。 如需使用 Microsoft Excel 製作報表的詳細資訊,請參閱建立和管理 Visual Studio ALM 的 Excel 報表。
安全性
Team Foundation 資料倉儲的安全性是定義於資料庫層級,而小組報表的安全性則是定義於 Team 專案層級。 Team Foundation Server 系統管理員會藉由授與或撤銷使用者帳戶的權限,決定誰能存取資料倉儲中的資料。 根據預設,只有執行倉儲服務的服務帳戶才擁有倉儲的寫入權限。 每個工具配接器都具有資料倉儲的寫入權限,因為它是在這個安全性內容中執行。 系統管理員會將唯讀權限授與個別的使用者或使用者群組。 使用者若具有檢視資料倉儲中特定小組專案資料的權限,也會具有所有小組專案集合之所有資料的完整存取權限。 如需授與或拒絕資料倉儲之唯讀存取權的詳細資訊,請參閱 授與 Visual Studio ALM 所需之資料倉儲資料庫的存取權限。