[UPDATE] Amazon Redshiftでマテリアライズドビューが使えるようになります! #reinvent
AWSの年次イベント"AWS re:Invent 2019"が、米国太平洋時間2019年12月2日から6日までの日程で開催されています。
こちらに先立って、11月27日に"Redshiftのマテリアライズドビュー"のプレビューが発表されました。
「マテリアライズドビュー(Materialized Views)」とは?
マテリアライズドビューは一言で表すと「データを持つデータベースビューオブジェクト」です。
リレーショナルデータベースには古くからあるポピュラーな機能で、「マテビュー」あるいは「MV」などとも呼ばれています。
マテリアライズドビューは、データを持つビューなので、通常のビューと異なり、クエリ実行毎に実テーブルに問い合わせすることはありません。そのため、BIツールなどで参照するビューをマテリアライズドビューで作成しておくことで、今までのビュー問い合わせ時に発生していた複数テーブルのJOIN、UNION、グループ関数による集計、CASE式によるデータの変換などを予め済ませておくことができるので、クエリの性能を向上させることができます。
ドキュメントから機能を確認する
マテリアライズドビューは、現在全てのユーザがプレビューとして利用できるのですが、取り急ぎドキュメントを確認してみます。
マテリアライズドビューを体験する為には、以下の条件を満たす必要があるとのことです。
- プレビューが動作するバージョン(1.0.11532)のクラスタを構築
- 新しいAmazon Redshiftコンソールを使用
- preview_featuresという名前のトラックでプレビュー用のクラスターメンテナンストラックを使用していることを確認
マテリアライズドビュー作成の構文を確認すると、次の機能があるようです。
- マテリアライズドビューのデータをバックアップの対象にする/しない
- 通常テーブルと同様に、分散スタイル/分散キー/ソートキーの設定
また、マテリアライズドビューは実テーブルとは別にデータを持つことになるので、実テーブルの更新をマテリアライズドビューに反映させる更新処理が必要なるのですが、これについてRedshiftでは、手動でREFRESH MATERIALIZED VIEW
の実行が必要とのことです。
マテリアライズドビュー機能は、2020年1月31日までプレビューとのことです。
後で実際のRedshiftクラスタで試したいと思います。まずは速報ということでお伝えしたいと思います。お楽しみに。