Team Foundation におけるデータ ウェアハウスの構成要素

Team Foundation のレポート ウェアハウスは、近似スター スキーマで編成されたリレーショナル データベースと、リレーショナル データベース上に構築された SQL Server Analysis Services キューブから成る、従来のデータ ウェアハウスです。 次の図は、Team Foundation データ ウェアハウスの高レベルなアーキテクチャと、運営ストア、データ ウェアハウス、およびチーム レポート間のリレーションシップを示しています。

データ ウェアハウスのアーキテクチャ

このトピックの内容

  • 運営ストア

  • ウェアハウス アダプター

  • ウェアハウス リレーショナル データベース

  • Analysis Services キューブ

  • レポート デザイナー レポート

  • Excel レポート

  • セキュリティ

運営ストア

Team Foundation の各ツールやプラグインは、SQL Server 2008 のリレーショナル データベースを使用して、ツールが日常の操作で使用するデータを格納します。 このリレーショナル データベースは、運営ストアと呼ばれることもあります。 Team Foundation の運営ストアには、次のものがあります。

  • 共通構造体データベース (Tfs_Configuration)

  • チーム プロジェクト コレクションのデータベース (Tfs_Collection)

場合によっては、サードパーティ ツール用に作成された運営ストアもあります。

多くの運営ストアと同様、リレーショナル データベースのスキーマは、データのオンライン トランザクション処理用に設計および最適化されます。 ツールやプラグインが処理を実行すると、最新の情報が運営ストアに書き込まれます。 そのため、運営ストア内のデータは絶えず更新されており、すべてのデータが最新となります。

ウェアハウス アダプター

各ツールやプラグインには独自のスキーマ要件があり、トランザクション処理を最適化するためにデータは運営ストアに格納されるため、ウェアハウス アダプターの目的は、運営データを、データ ウェアハウスが使用できる形式にすることです。 ウェアハウス アダプターは、運営ストアからデータを取得し、データをウェアハウスと互換性のある標準化形式に変換し、変換後のデータをウェアハウス リレーショナル データベースに書き込むマネージ アセンブリです。 運営データ ストアごとに別個のアダプターがあります。

ウェアハウス アダプターは、基本のウェアハウス構成またはチーム プロジェクトの新規作成時に使用されるプロセス テンプレートで指定されるデータ フィールドをコピーおよび変換します。 この後でプロセス テンプレートを変更し、データ ウェアハウスに書き込まれるデータ フィールドを追加または削除すると、その変更は、アダプターの次の実行時に検出されます。 アダプターは、RunIntervalSeconds プロパティで設定される間隔で定期的に実行されます。 リフレッシュ レートの既定値は 2 時間 (7,200 秒) なので、自分の環境に適したリフレッシュ レートについて十分に検討してください。 更新間隔の変更の詳細については、「データ ウェアハウスまたは Analysis Services キューブのプロセス制御設定の変更」を参照してください。

リレーショナル データベース自体が運営ストアから更新されている場合は、リレーショナル データベースからデータ キューブにデータが書き込まれないことに注意してください。 データの読み取りと書き込みの競合を回避するために、データをプッシュおよびプルするウェアハウス アダプターが同期されます。 アダプターが呼び出しを完了した後で、キューブが再処理されます。

ウェアハウス リレーショナル データベース

各ツールは、データ ウェアハウスに対する処理を XML スキーマで記述します。 スキーマは、リレーショナル データベースに書き込むフィールドを、ディメンション、メジャー、および詳細で指定します。 スキーマは、キューブにも直接割り当てられます。

ウェアハウス内のデータは、スター スキーマで編成されるテーブルのセットに格納されます。 スター スキーマの中心テーブルはファクト テーブルと呼ばれ、関連テーブルがディメンションに相当します。 ディメンションは、レポートを小さな要素に分割する手段です。 通常、ファクト テーブル内の行には、メジャーの値、またはディメンション テーブルへの外部キー参照が格納されています。 行は、ファクト テーブルに含まれるすべての項目の現在の状態を表します。 たとえば、"作業項目" ファクト テーブルには、"作業項目" 運営ストアに格納されている作業項目ごとに 1 つの行が含まれています。

ディメンション テーブルは、指定のディメンションに対して存在する値のセットを格納しています。 ディメンションは、異なるファクト テーブルおよびキューブ間で共有されることもあれば、1 つのファクト テーブルまたはデータ キューブによって参照されることもあります。 たとえば、"人" ディメンションは、"担当者"、"開いたユーザー"、"解決者"、"終了者" の各プロパティについて "作業項目" ファクト テーブルによって参照され、"チェックインしたユーザー" プロパティについて "コード チャーン" ファクト テーブルによって参照されます。

メジャーは、運営データから取得した値です。 たとえば、"変更コード合計" は、選択された変更セット内のソース コードの変更の数を表すメジャーです。 "カウント" は、カウントされる各項目に 1 つのレコードが対応している限りは暗黙であることが可能な特別なメジャーです。 ファクト テーブルで定義されるメジャーは、キューブ内のメジャー グループを形成します。

データ ウェアハウス内のファクト、ディメンション、およびメジャーの詳細については、「Team System における Analysis Services キューブで用意されているメジャー グループおよび測度」を参照してください。

Analysis Services キューブ

ファクト テーブルは、問題の現在の状態を示すレポートの情報源として優れています。 しかし、時間と共に変化するデータの傾向を報告するには、レポートする時間の増分ごとに同じデータを複製する必要があります。 たとえば、作業項目またはテスト結果の日単位の傾向を報告するには、ウェアハウスがすべての項目の状態を日単位で保持する必要があります。 これによって、データ キューブは、メジャーを日単位で集計できます。 キューブは、基になるスター スキーマのデータと時間データの両方を、多次元構造体に集めます。

データ キューブが処理されるたびに、リレーショナル データベース内にスター スキーマで格納されているデータがキューブにプルされて、集計および格納されます。 キューブ内のデータは集計されて、高レベルなレポートが単純な SELECT ステートメントになります。集計されないと、スター スキーマを使用する複雑な処理が必要になります。 キューブによって、各運営ストアのスキーマを知らなくても、また、各ストアに個別にアクセスしなくても、レポートのデータを取得するための一元的な場所が提供されます。

レポート デザイナー レポート

レポート デザイナーは Visual Studio のコンポーネントであり、これを使用すると、Team Foundation データ ウェアハウスをデータ ソースとして定義し、レポートを対話形式でデザインできます。 レポート デザイナーは [データ]、[レイアウト]、および [プレビュー] というタブ付きウィンドウを備えており、データセットを追加して新しいレポート デザインのアイデアを実現したり、プレビューの結果に基づいてレポートのレイアウトを調整したりできます。 レポート デザイナーには、[データ]、[レイアウト]、および [プレビュー] というデザイン サーフェイスに加えて、クエリ ビルダー、式エディター、およびウィザードも用意されており、イメージを配置したり、単純なレポートを作成するプロセスを手順に従って実行できます。 レポート デザイナーの使用方法の詳細については、「Visual Studio ALM のレポートの作成、カスタマイズ、および管理」を参照してください。

Excel レポート

Team Foundation は Microsoft Excel に統合されており、Microsoft Excel を使用してプロジェクトの管理およびレポートの作成を行うことができます。 Microsoft Excel には、多次元データを表示および分析するピボットテーブルとピボットグラフが用意されています。 これらのピボットテーブルは Team Foundation のキューブに直接バインドできるため、キューブ内のデータを操作できます。 レポートでの Microsoft Excel の使用方法の詳細については、「Visual Studio ALM 用 Excel レポートの作成と管理」を参照してください。

セキュリティ

チーム レポートのセキュリティはチーム プロジェクト レベルであるのに対して、Team Foundation データ ウェアハウスのセキュリティはデータベース レベルで定義されます。 Team Foundation Server 管理者は、ユーザーのアカウントに対してアクセス許可を付与または禁止することにより、データ ウェアハウス内のデータにアクセスできるユーザーを決定します。 既定では、ウェアハウスへの書き込みアクセスは、ウェアハウス サービスが実行されるサービス アカウントに限定されます。 各ツール アダプターはこのセキュリティ コンテキストで稼働するため、データ ウェアハウスへの書き込みアクセス許可を備えることになります。 読み取り専用アクセス許可は、管理者によって個々のユーザーまたはユーザー グループに付与されます。 特定のチーム プロジェクトのウェアハウス内のデータを表示できるアクセス許可を持つユーザーは、そのプロジェクトのすべてのデータにフル アクセスできます。 しかし、1 つのチーム プロジェクトのデータを表示できるアクセス許可を持つユーザーが、別のチーム プロジェクトのデータを自動的に表示することはできません。 データ ウェアハウスへの読み取り専用アクセス許可の付与または拒否の詳細については、「Analysis Services キューブへのアクセスをチーム メンバーに付与」を参照してください。

参照

概念

Visual Studio ALM のレポートの作成、カスタマイズ、および管理

その他の技術情報

Team Foundation Server 2010 にアップグレードした後のレポートの場所の確認

Analysis Services キューブにおけるスキーマに対する修正および追加

Team System における Analysis Services キューブで用意されているメジャー グループおよび測度