BigQueryでマテリアライズドビューが提供開始、プレビューとして。複雑なクエリをより高速に実行可能

2020年4月16日

Google Cloudのデータウエアハウス向けデータベースであるBigQueryに「マテリアライズドビュー」機能がプレリリース版として追加されました

一般にリレーショナルデータベースにおける「ビュー」とは、仮想的なテーブルのようなものとされます。これによって、BIツールを使ってデータベースへ検索を実行する際などに、複雑なテーブル構成を隠蔽して分かりやすい構成のビューだけを見せたり、特定のユーザーにアクセスを許すビューだけを見せる、といったことが可能になります。

通常のビューは仮想的な存在であり実体を持たないため、ビューに対するクエリは実際にはビューを構成するテーブルに対するクエリに分解され、実行され、結果が返されます。

一方、マテリアライズドビューはテーブルのように実体を持つビューとされています。実体を持つため、マテリアライズドビューに対するクエリは実際にマテリアライズドビューの実体に対して実行され、結果を返すため、非常に高速に結果が得られます。

特に複雑なクエリが何度もアクセスされるケースでは、マテリアライズドビューのメリットが活かされるでしょう。

ただし、マテリアライズドビューは実体を持つために、その分、ストレージ容量を必要とし、またつねに元になるテーブル(ベーステーブル)のデータと一貫性を保つために、ベーステーブルのデータの変更に追随してマテリアライズドビュー自身も変更されなければならず、その都度実行コストなどがかかる、といった面があります。

BigQueryが提供するマテリアライズドビューも基本的にこの一般的なマテリアライズドビューの機能およびメリット、デメリットを備えています。

マテリアライズドビューが作成されると、ベーステーブルが更新されても自動的にそれに対応してマテリアライズドビューも更新され、つねに最新の状態に保たれます。そのため、特にマテリアライズドビューのメンテナンスに気を遣う必要はありません。

また、マテリアライズドビューを定義するためのベーステーブルに対するクエリは、自動的に最適化されて実行されます。

これにより、複雑なクエリであってもマテリアライズドビューをあらかじめ構成しておくことで、マテリアライズドビューに対するシンプルなクエリによって高速に結果を得ることが可能になります。

GoogleもBigQueryにおけるマテリアライズドビューのユースケースとして、OLAPのような複雑なクエリを高速に実行するケースや、ストリーミングデータのような大量のデータ追加を高速に集約する処理などを挙げています。

あわせて読みたい

Google Cloud 機械学習・AI Google




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本