0

oracle(11g) の具体化されたビューは、データ ウェアハウジングの集計テーブルの良い方法ですか?

毎日 2 か月分のデータを置き換える DW プロセスがあります。場合によっては、毎月のギグ数が少ないことを意味します (〜 100K 行)。それらの上には、データ転送の夜間サイクルの後に更新される具体化されたビューがあります。私の質問は、MV の代わりに集計テーブルを作成する方がよいでしょうか?

4

1 に答える 1

1

集約されたテーブルが有益である可能性がある 1 つのケースは、集約をアトミック レベルのデータ ロードと効果的に組み合わせることができる場合だと思います。

パーティション交換を介して毎日大量のデータをファクト テーブルにロードするとします。パーティションの変更の追跡を使用したマテリアライズド ビューの更新は、パーティションの交換中または交換後にトリガーされ、変更されたパーティションがスキャンされ、変更が MV に適用されます。

ファクト テーブル パーティションと交換するテーブルの母集団の一部として、CUBE/ROLLUP を使用してさまざまなレベルで集計を計算し、マルチテーブル挿入を使用してテーブルをロードすることもできます。次に、Exchange を 1 つ以上の集計テーブルに分割します。これは、アトミック レベルのデータの再スキャンを回避することで本質的により効率的であるだけでなく、ファクト テーブルのパーティション交換の前に集計が計算されるため、何か問題が発生した場合は、ファクト テーブル自体の変更を一時停止できます。

他の考えは後で発生する可能性があります...他のアイデアがあれば、コミュニティWikiとして回答を公開します。

于 2012-05-18T09:38:19.187 に答える