Oracle では、具体化されたビューと分析ワークスペースを使用することの長所と短所は何ですか? これらの機能の使用に関するベスト プラクティスは何ですか?
私たちは OLTP システムを持っていますが、レポートやインタラクティブな意思決定支援ツールの概要情報にもアクセスしたいと考えています。
私もアナリティック ワークスペースを使用したことはありませんが、MV には実際にいくつかの短所があります (使用していますが)。いくつかのこと:
これらは実際にはテーブルです。つまり、スペースを占有します。一部の状況では、それらを使用して、数百万行のテーブルのリモート データにアクセスしています。ビューはクエリ結果であり、仮想です。MV は実際のものです (メモリー構造ではなく、実際の行があります)。
私たちが遭遇した他の問題の 1 つは、多くの場合、MV が更新に失敗すると、二度と更新を試みないということです。
私たちは、これが次の 2 つの状況で発生していると考えています。
詳細は重要ではありません。重要なのは、MV を監視して、データが最新であることを確認する必要があることです。
私は分析ワークスペースを使用したことがないので、それらと話すことはできません。
ただし、具体化されたビューは非常に便利です。これらは基本的にキャッシュされたビューの結果であり、インデックスの構築などを行うことができます。それらがどのように構成されているか (ログの有無にかかわらず) に応じて、「ライブ」データと比較して古くなる可能性がありますが、(データとクエリによっては) はるかに高速です。
リモート データ (データベース リンク) を扱っている場合、マテリアライズド ビューを使用すると、データをローカルにキャッシュできます。データの計算が遅い場合は、マテリアライズド ビューを使用して結果をキャッシュできます (古い可能性があります)。
マテリアライズド ビューは非常に便利です。賢明に実装する必要があります。