マテリアライズドビュー(インデックス付ビュー/マテリアライズド照会表)を利用するにあたり考慮すべき要素 – SAP SQL Anywhere

 

 

この記事のオリジナルは Glenn Paulley が sybase.com に 2009 年 9 月に掲載したものです。その中で、Glenn は 2種類のマテリアライズドビューについて説明するとともに、マテリアライズドビューを使用する際に考慮すべき点について解説しています。

 

(2006年にリリースされた) Version 10より、SQL Anywhere では、遅延反映型マテリアライズドビューをサポートしています。(2008年にリリースされた) version 11 では、即時反映型マテリアライズドビューをサポートしました。これら2種類の大きな違いは、以下のとおりです。

  • 遅延反映型マテリアライズドビューでは、クエリオプティマイザーは、staleデータを含む1またはそれ以上のマテリアライズドビューを利用してクエリに答えます。あらゆるビューの 「stale性」や、クエリへの答えにビューを使用するか否かは、全てデータベース管理者のコントロール下にあります。また、データベース管理者は、データの正確性とマテリアライズドビューが提供するパフォーマンスの向上と、そのビューの更新反映コストをトレードオフすることが可能です。
  • 逆に、即時反映型マテリアライズドビューは、マテリアライズドビューの定義のベースとなるベーステーブルの更新と同一のトランザクション内で更新されます。即時反映型ビューは、それぞれの更新オペレーションにともなったビューへの反映の必要性を犠牲に、派生的に生成される最新ビューのベースとなるベーステーブルの分単位レベルのコピーを提供します。

まとめると、遅延反映型ビューでは、マテリアライズドビューのメンテナンスコストのamotizationが可能であるのに対して、即時反映型マテリアライズドビューでは、更新されたそれぞれのトランザクションでビューの反映にオーバーヘッドが発生します。そのため、同時実行トランザクション間の競合が発生する可能性があります。

マテリアライズドビューを遅延反映型にするのか即時反映型にするのかは、マテリアライズドビューを利用するかどうかを決める場合に、データベース管理者が考慮すべき要素の1つです —– 文字通り、これは、「view selection problem」として知られています。

また、遅延反映か即時反映かのトレードオフの他にも考慮すべき点があります。

 

続きはこちら:マテリアライズドビュー(インデックス付ビュー/マテリアライズド照会表)を利用するにあたり考慮すべき要素 – SAP SQL Anywhere

 

 

SAPのSAP SQL Anywhere製品ページはこちら