Amazon Redshiftがマテリアライズドビューの正式サポート開始。頻繁に実行されるクエリなどがより高速に
Amazon Web Services(AWS)が提供しているデータウェアハウス向けデータベースのAmazon Redshiftで、新機能としてマテリアライズドビューの正式サポートが発表されました。
New #AWSLaunches!
— Amazon Web Services (@awscloud) March 12, 2020
AWS Resource Access Manager is Now Available in the Middle East (Bahrain) Region
Amazon Redshift introduces support for materialized views (Generally Available)https://t.co/lB0bBYdvnl pic.twitter.com/JRVhK3ekRc
マテリアライズドビューとは、テーブルのような実体を持ったビューのことです。
一般にリレーショナルデータベースにおける「ビュー」とは、仮想的なテーブルのようなものとされます。これによって、BIツールを使ってデータベースへ検索を実行する際などに、複雑なテーブル構成を隠蔽して分かりやすい構成のビューだけを見せたり、特定のユーザーにアクセスを許すビューだけを見せる、といったことが可能になります。
例えば、顧客一覧をデータに持つ「顧客テーブル」と商品の一覧を示す「商品テーブル」があり、どの顧客がどの商品を購入したかを示す「販売管理テーブル」があったとき、どの顧客がどの商品を購入したかという検索結果が、営業部門やマーケティング部門などによって非常に頻繁に要求されるものだとしましょう。
このとき、毎回3つのテーブルをジョインさせるための複雑なSQL文を実行する代わりに、あらかじめこの3つのテーブルをジョインさせた仮想的なテーブルである「ビュー」を作ることで、単体のテーブルに対して検索を実行するのと同じようにこのビュー単体を検索するシンプルなSQL文を実行するだけで、望んだ結果を得ることができます。
内部的な動作としては、ビューに対して検索が実行されたとき、ビューはその検索を3つのテーブルのジョインへと変換して実行していることになります。
この仮想的なテーブルとしてのビューに対して、マテリアライズドビューとは実体を持ったビューです。つまり実際にビューを構成するテーブルから情報を持ってきて実体を持つテーブルとして組み立てておきます。そしてマテリアライズドビューに対して検索が実行されると、そのテーブルに対する検索の結果を返すのです。
これにより通常のビューよりも高速な実行が期待できるわけです。
Amazon Redshiftにマテリアライズドビューの機能が備わったことにより、データウェアハウスとしてこれまで以上に便利かつ高速な利用が可能になるでしょう。
あわせて読みたい
Docker社が新戦略を明らかに。Docker Desktopの拡張によってコンテナ開発を容易に、Docker Hubを開発エコシステムの中核にすると
≪前の記事
CacooがKubernetesのシステム構成図が描ける「Kubernetesアイコン」公開