データ ウェアハウスの更新スケジュールの定義
Spectrum™ Technology Platformはデータフローのスケジュールを設定して、データ ソース内の正規化構造からデータを抽出したり、データ ウェアハウス内のスター スキーマ構造に変換したりできます。ほとんどのロード操作は営業日には使用できないシステム リソースを必要とするので、データフローのスケジューリングは有用です。
更新スケジュールを決定する際には、次の点を考慮します。
- 頻度
- シーケンス
- 依存関係
頻度
きわめて詳細なファクト テーブルの粒度に基づいて実行するデータフローをスケジュールする必要があります。例:
- ファクト テーブルの粒度が日単位の場合は、ファクト テーブルの設定データフローを毎日実行するようにスケジュールします。
- 粒度が月単位の場合、ユーザは過去何か月かのデータのみを使用して作業するので、設定データフローをすぐに実行するのではなく、毎月実行するようにスケジュールします。
ほとんどの設定データフローは大量のデータを処理するので、Spectrum™ Technology Platformサーバ、ソース データベース、データ ウェアハウス データベース、およびネットワークの使用量が最小のときに設定データフローを実行するようにスケジュールします。
初期ロード時にすべてのディメンション テーブルとファクト テーブルを設定します。初期ロードの後、追加または変更された内容に基づいてテーブルを更新します。通常、ファクト テーブルはディメンション テーブルよりも頻繁に更新されます。その理由は次のとおりです。
- 通常、ディメンション テーブルはソース内の属性が変更または追加されない限り、静的です。
- 一般的に、意思決定支援データベース内のファクト テーブル データは長期的なものであり、最新の状態を維持するために定期的な追加や更新を必要とします。初期ロードやほとんどの増分ロードはファクト テーブルに影響を与えます。
シーケンス
データ ウェアハウス データベース内のデータ間には依存関係があるので、実行スケジュールの設定前に設定データフローを実行する順序を決定します。
ファクト テーブルの前にディメンション テーブルを設定します。関連ファクト テーブルを設定する前に、すべてのディメンション レコードおよびキーが存在している必要があるからです。この制限は、スター スキーマにおけるディメンション テーブルとファクト テーブルとの間の主キーと外部キーの関連性によるものです。
意思決定支援データベース内の集計テーブルを設定する前に、ベースレベルのテーブルを更新します。この順序により、ベースレベル テーブルと集計テーブルの同期が確実に維持されます。
設定データフローを実行する適切な順序は、次のとおりです。
- ベースレベル ディメンション テーブルの計画
- ベースレベル ファクト テーブルの計画
- 集計ディメンション テーブルの計画
- 集計ファクトテーブルの計画
依存関係
複数の設定データフローを特定の順序で実行する必要がある場合や、データフローの実行にかかる合計時間が予測できない場合は、データフロー依存関係を作成できます。データフローは、前のデータフローの完了、前のデータフローでのエラー発生など、特定の要件が満たされた場合にのみ実行されます。
データフロー依存関係を作成するには、Enterprise Designer でプロセス フローを作成します。プロセス フローの詳細については、『Dataflow Designer ガイド』を参照してください。