スポンサーリンク

【応用情報技術者試験】マテリアライズドビュー

マテリアライズドビュー(Materialized View)は、複雑なクエリ結果を物理的なテーブルとしてデータベース上に保存する機能です。通常のビューとは異なり実データを持つため、集計や結合の頻度が高い大量データの参照処理を大幅に高速化できます。データは「リフレッシュ」により最新に保つ必要があります。 

マテリアライズドビューの要点

  • 高速な参照: 事前に計算・キャッシュされたデータを利用するため、クエリのレスポンスが向上します。
  • 実体化されたテーブル: ビューがデータを保存しているため、インデックス(索引)を作成でき、高速化がさらに促進されます。
  • リフレッシュの必要性: ベーステーブルの更新時に、マテリアライズドビューのデータを手動または自動で更新(リフレッシュ)する必要があります。
  • ストレージ消費: データを物理的に保存するため、通常のビューよりもディスク容量を消費します。 

主な用途(ユースケース)

  1. データウェアハウス(DW)の集計: 売上データの集計や、地域別・期間別のデータ分析など、計算コストが高い処理の高速化。
  2. 複雑な結合: 複数の大規模テーブルをJOIN(結合)した結果をキャッシュし、頻繁な照会に対応する場合。
  3. レプリケーション: リモートサイトへのデータコピーなど、通信量の削減と高速アクセス。 

通常のビューとの違い

特徴 通常のビュー (View)マテリアライズドビュー
データの実体なし(定義のみ)あり(キャッシュされる)
参照時の動作ベーステーブルを毎回検索保存された結果を返す
参照速度ベーステーブル依存高速
データ最新性常に最新リフレッシュ間隔に依存

主なリフレッシュ方法

  • 完全リフレッシュ: マテリアライズドビュー内のデータを全削除し、再作成する。
  • 高速リフレッシュ: 更新された差分のみを反映する。 

Oracle, PostgreSQL, AWS, Snowflake, BigQuery などの多くのデータベースやクラウドサービスでサポートされています。

コメント