物理データ・モデルを作成するときは、データウェアハウスをホストするデータベースの物理構造に、論理データ・モデルをマップします。
物理データ・モデルを作成するときは、データを格納するときに使用する表やデータ・タイプなどの物理構造を定義する必要があります。また、照会のパフォーマンスを向上させる新しいデータ構造を定義することもできます。ただし、新しい構造の定義は、論理データ・モデル・スキーマの意味を変えないように行う必要があります。
物理データ・モデルを作成するときは、以下の考慮事項に留意してください。
- 設計はどの程度スケーラブルか。物理データベース管理システム (DBMS) はどの程度スケーラブルか。
- どのような照会、ETL 処理、およびその他のアプリケーションが、データウェアハウスで必要か。
- パフォーマンスの改善に使用できる抽象化されたデータ・モデルが存在するか。
- データウェアハウスをどのように運用または維持するか。
注: オンライン・トランザクション処理 (OLTP) での物理データ・モデリングは、データウェアハウスの物理モデリングと大きくは異なりません。概念モデル・レベルでは、OLTP の物理データ・モデリングは主としてパフォーマンス設計が異なります。OLTP での設計ではデータおよびトランザクションのボリュームが中心になるのに対し、データウェアハウスの物理データ・モデルでは、負荷パフォーマンス、バッチまたはリアルタイム・アプリケーションによる分析領域およびサマリー表へのデータ追加、および分析照会のパフォーマンスが中心になります。
物理ディメンション・データ・モデルを作成するには、以下の手順を実行します。
- 物理データ・モデルのエンティティーと属性のモデルを作成します。
- 論理データ・モデルに含まれる各エンティティーの表を定義します。各表に名前を割り当てます。
- 論理データ・モデルに含まれるエンティティーの各属性の列を作成します。各列に名前とデータ・タイプを割り当てます。
- 各表の主キーと外部キーを定義します。
- 物理データ・モデルの DDL を構築します。
- ターゲット・データベースを作成します。
- ターゲット・データベースに接続します。
- DDL を生成します。
- DDL を実装します。
- 物理データ・モデルのパフォーマンスを設計してチューニングします。論理データ・モデルから取得したエンティティーと関係をチューニングし、これらのオブジェクトの追加方法に焦点を置きます。次のいずれかの方法を使用して、データの追加のパフォーマンスをチューニングします。
- バッチでのデータの追加
- パフォーマンスのよいカスタム・アプリケーション、ETL ツール、またはデータベース・ユーティリティーを使用します。
- リアルタイムでのデータの追加
- データがより短時間で使用できるようになる処理および手法を使用します。例えば、一般的な ETL 処理を使用するのではなく、抽出、読み込み、変換 (ELT) 処理を使用します。ELT 処理では、データの抽出と読み込みが行われてから変換が実行されるので、パフォーマンスが向上する可能性があります。
注: パフォーマンスは物理データ構造に依存します。物理構造を変更したり、より適切な物理構造を追加したりすると、照会、データ抽出、またはレプリケーションのパフォーマンスが向上する場合があります。ただし、物理構造を追加すると、データウェアハウスの読み込み時間が長くなる可能性もあります。パフォーマンスのチューニングは、コスト最小化の問題です。例えば、CPU や I/O リソースを追加すればパフォーマンスは必ず向上しますが、許容できるパフォーマンスとシステムの総コストの間の妥協点を見つける必要があります。
- 以下の事柄に対応したことを確認して、物理設計を検証します。
- 物理モデルの DDL スクリプトで、パフォーマンスの向上を含む物理構造が適切に定義されている必要があります。
- 物理設計が完全に文書化されている必要があります。
- 論理データ・モデルの各エンティティーが、適切な属性や関係などの、物理表を表している必要があります。
- 各関係が、正しいカーディナリティー (1 対 1、1 対多、多対多) を記述している必要があります。
- データ・ディクショナリーで各エンティティーおよび属性を正しく記述します。
- すべての容量見積もりを検証します。