コンテンツに移動
データ分析

BigQuery 最新情報: 効率的なマテリアライズド ビューと Cloud AI の統合

2020年5月8日
Google Cloud Japan Team

※この投稿は米国時間 2020 年 5 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。

BigQuery は、Google Cloud が提供するペタバイト規模のデータ ウェアハウスです。データを素早く取り込んで分析でき、高い可用性を備えているため、新たな分析情報を得て傾向を把握し、予測を立てて、効率的なビジネス運営に役立てることができます。BigQuery のエンジニアリング チームは、皆様にさらに便利にお使いいただけるよう機能の改善を継続的に行っています。最近追加された機能には、新しいマテリアライズド ビュー、列レベルのセキュリティ、BigQuery ML の追加機能があります。

ここでは、これらの新機能の詳細と、クエリの高速化やアクセス制御の追加、そしてイノベーションへの注力を可能にするための方法をご紹介します。

BigQuery マテリアライズド ビューでパフォーマンスとコスト削減を強化

BigQuery マテリアライズド ビューのベータ版が利用可能になりました。BigQuery マテリアライズド ビューは事前計算されたビューであり、パフォーマンスと効率を向上させるためにクエリの結果を定期的にキャッシュします。マテリアライズド ビューとは、クエリの結果を含んでいるデータベース オブジェクトです。たとえば、テーブルや結合結果の行または列のサブセットや、集計関数を使用した集計などです。つまり、クエリが再実行され、マテリアライズド ビューがある場合、クエリはすべてのテーブルを再スキャンする必要はなく、マテリアライズド ビューから迅速に回答を報告できるというわけです。この機能によって、スキャンされるデータ量が大幅に少なくなるため、パフォーマンスが格段に改善されてコストが削減されます。

BigQuery マテリアライズド ビューは簡単に設定でき、リアルタイムで機能します。次のようなメリットが挙げられます。

●メンテナンス不要: システムが自動的にベーステーブルでのデータ変更を同期してデータを更新します。ベーステーブルのすべての増分データの変更が自動的にマテリアライズド ビューに追加されます。ユーザーが入力する必要はありません。  

●常に最新: マテリアライズド ビューは常にベーステーブル(BigQuery ストリーミング テーブルを含む)の内容と一致します。ベーステーブルの変更差分とデータを結合し、リアルタイムで新しいデータを返します。

●セルフ チューニング: ソーステーブルに対するクエリまたはクエリの一部がマテリアライズド ビューへのクエリによって解決できる場合は、マテリアライズド ビューを使用するようにクエリが書き換えられ(クエリの宛先が変更され)、その結果、パフォーマンスと効率が改善されます。

Viant をはじめとしたお客様は多大なメリットを享受されています。Viant でシニア バイス プレジデント兼チーフ アーキテクトを務める Adrian Witas 氏は、次のように述べています。「当社では 1 年以上前から BigQuery マテリアライズド ビューを本番環境で使用しています。大規模なコスト削減が実現するだけでなく、パフォーマンスも格段に改善されます。当社の場合、クエリのレイテンシが非常に重要です。UI によってレポートデータが直接使用されるのですが、UI は 1 日あたり約 8,000 個の SQL クエリを処理し、各クエリは 1 秒未満で完了する必要があります。マテリアライズド ビューのおかげで、Vertica Reporting クラスタを BigQuery に正常に移行できました。」

BigQuery マテリアライズド ビューについて詳しくは、ドキュメントをご覧ください。

BigQuery ML モデルを使用したオンライン予測とレコメンデーション モデルの作成

BigQuery ML から TensorFlow SavedModel 形式でモデルをエクスポートして、Cloud AI Platform のオンライン予測や独自のサービスレイヤで使用できます。これにより、データ サイエンティストは、さらに調整が必要な場合に、BigQuery ML で作成されたモデルを Python で調整することも可能です。BigQuery でのバッチ予測のための TensorFlow モデルのインポート機能は、すでに一般提供されています。これを活用することで、データ サイエンティスト、データ アナリスト、ML エンジニア、データ エンジニアは、エンドツーエンドのデータを簡単に作成しデプロイ ワークフローをモデル化できます。詳細についてはドキュメントをご覧ください。

さらに、新しいモデルである行列分解のトレーニングのサポートが BigQuery ML に追加され、現在ベータ版が提供されています。行列分解により、ユーザーは SQL を使用して BigQuery の大規模なデータセットでレコメンデーション システムをトレーニングできます。詳細については、暗黙的なレコメンデーション(ユーザーの行動ベース。例: おすすめの商品情報に使用)や明示的なレコメンデーション(評価ベース。例: アプリや映画のおすすめ)のチュートリアルをご覧ください。

列レベルのセキュリティでデータクラスにアクセス制限を設定

機密データは、同じデータセット内で機密性の低いデータと混在していることが多く、テーブル、データセット、プロジェクト レベルの権限だけに目を向けていると、その機密データへの適切なアクセスを管理することは困難になります。現在ベータ版の BigQuery の列レベルのセキュリティ機能では、列レベルの詳細度でポリシータグによって抽象化されたデータクラスのアクセス制御を設定できます。この新しい機能を使用すると、保護されたデータクラス(個人情報、財務、健康など)を含む機密性の高い列にタグを付け、これらの列を特権グループに限定できます。

さらに、ポリシータグ階層を作成して、ルートノードのタグがリーフノードのタグの権限を集約するようにできます。たとえば、「患者の健康」タグが、全般的な「制限付き」タグの下にネストされている場合、制限付きデータにアクセスできるユーザーは誰でも患者の健康データにアクセスできます。

詳細については、BigQuery の列レベルのセキュリティ、またはドキュメントをご覧ください。

BigQuery Reservations による料金の予測可能性

データ ウェアハウジングの使用状況を把握して管理しようとする多くの企業にとって、料金の予測可能性は最優先課題であり続けるといえます。Google Cloud では、お客様に簡単かつ柔軟な方法で BigQuery の定額料金を利用していただくために BigQuery Reservations のベータ版をリリースしました。高度な処理を扱う企業ユーザーは、Reservations を使用して複雑なワークロード管理を行うことができます。Reservations は現在、すべての BigQuery リージョンで一般提供されています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/BQ_reservations.max-1000x1000.jpg

使用の開始に関する詳細は、BigQuery の定額料金、またはドキュメントをご覧ください。

BigQuery スクリプトとストアド プロシージャを使用したコマンドと制御

スクリプトを使用すると、データ エンジニアやデータ アナリストは、クエリをシーケンスで実行するような単純なものから、IF ステートメントや WHILE ループを含んだ制御フローを伴う複雑な複数ステップのタスクまで、幅広いタスクを実行できます。ストアド プロシージャを使用すると、これらのスクリプトを BigQuery 内に保存して共有できるため、その後ですべてのユーザーが実行できます。

すべての BigQuery リージョンで、スクリプトとストアド プロシージャの一般提供が開始されました。ベータ版のリリース以降、次の新しい機能が追加されています。

●例外処理: スクリプトの実行中に生成されたエラーを処理する EXCEPTION 句のサポート

●システム変数のサポート: 実行中にユーザー固有の情報を表示するための、タイムゾーン、現在のプロジェクト、ジョブ ID などの主要な変数のサポート

●作成中の PROCEDURE 本文の検証: PROCEDURE 本文のコマンドを作成中に検証して、実行前に問題を検出

●JDBC や ODBC のサポート: JDBC ドライバや ODBC ドライバに依存するサードパーティの実行エンジンによる実行を可能にする標準 API のサポート

スクリプトやストアド プロシージャの詳細については、BigQuery ドキュメントをご覧ください。

その他の最新情報:

COVID-19(新型コロナウイルス感染症)一般公開データセット プログラムの提供を開始しました。Johns Hopkins Center for Systems Science and Engineering(JHU CSSE)、世界銀行のグローバル医療データ、OpenStreetMap データなどの一般公開データセットのホスト型リポジトリを作成して自由にアクセスし、クエリを実行できます。

Cloud Storage での連携 ORC クエリと Parquet 連携クエリが一般提供になりました。

●地理空間データの取り込み: FME と BigQuery の統合により、ユーザーは何百もの異なる地理空間ファイル形式と投影を直接 BigQuery テーブルに変換できます。

BigQuery の最新情報を入手するには、リリースノートにご登録ください。Google Cloud のサンドボックスで BigQuery を無料でお試しいただけます。ぜひ、ご意見をお聞かせください

- By Jordan Tigani, Director, Product Management

投稿先