BigQuery が進化中!エンタープライズ DWH における9つの重要なポイントとは?
- BigQuery
- DWH
- エンタープライズ
本記事は、2022年4月19日に開催された Google の公式イベント「 Google Cloud Day : Digital ’22」において、 Google Cloud Japan のカスタマーエンジニアである高村哲貴氏が講演された「進化する BigQuery 〜エンタープライズ DWH における9つのポイント〜」のレポート記事となります。
今回は、 Google が提供する DWH サービス「 BigQuery 」に注目し、その概要や近年のリリースにより強化されたポイントを踏まえて、エンタープライズ DWH としての BigQuery の価値をご紹介します。
なお、本記事内で使用している画像に関しては、 Google Cloud Day : Digital ’22の「進化する BigQuery 〜エンタープライズ DWH における9つのポイント〜」を出典元として参照しております。
それでは、早速内容を見ていきましょう。
目次
BigQuery とは?
はじめに、 BigQuery の概要についてご説明します。
BigQuery とは、 Google Cloud (GCP)で提供されている DWH サービスであり、通常では長い時間かかるクエリを、数 TB (テラバイト)、数 PB (ペタバイト)のデータに対して数秒もしくは数十秒で終わらせることができます。
クラウドで提供されているため、サーバーレスでスケーラビリティがあり、非常にコストパフォーマンスに優れています。他の多彩な Google Cloud (GCP)サービスともシームレスに連携でき、扱いやすいサービスの一つとなっています。
BigQuery について詳しく知りたい方は以下の記事がオススメです。
超高速でデータ分析できる!専門知識なしで扱えるGoogle BigQueryがとにかくスゴイ!
DWH に関心のある方は以下の記事がオススメです。
データウェアハウス(DWH)とは?メリットや活用例まで一挙に紹介
エンタープライズ DWH における9つのポイント
BigQuery はエンタープライズ DWH として、高い効果を発揮するサービスです。本章では、近年のリリースにより強化された機能を踏まえて、エンタープライズ DWH としての BigQuery の価値をご紹介します。
エンタープライズ DWH における重要なポイントとして、次の9点が挙げられます。
- 1.低レイテンシ・大量同時接続への対応
- 2.パフォーマンスチューニングの選択肢
- 3.コスト効率の良いクエリ処理
- 4.高度なワークロード管理
- 5.柔軟なバックアップ
- 6.環境の複製、クローン
- 7.トランザクション対応
- 8.デプロイ・バージョン管理
- 9.監視・ログ分析
ここからは、それぞれのポイントについて詳しくご説明します。
1.低レイテンシ・大量同時接続への対応
1つ目のポイントは「低レイテンシ・大量同時接続への対応」です。
一般的に、 BI レポートは低レイテンシ・大量同時接続のケースが多く、このような状況に対応できることが求められます。例えば、毎週月曜日にダッシュボードを参照し、2,000〜3,000程度のアクセスが見られる場合などが挙げられます。
この時、「 OLTP データベースなら処理できるが BigQuery は苦手分野ではないか?」と感じる方もいらっしゃると思いますが、 BigQuery でも問題なく対応することが可能です。
最新の BigQuery では「 BigQuery BI Engine SQL Interface 」というものを採用しています。 BigQuery BI Engine SQL Interface は2021年12月に一般公開された新機能であり、これを活用することで低レイテンシ・大量同時接続のユースケースに対応できるようになりました。
上図の中央に「 Simplified architecture 」と記載されていますが、今までの BigQuery と同じ API を使っているため、アプリケーションに手を加えることなく、アクセラレーターを利用可能です。また、とても簡単に設定できる点も大きな魅力の一つとなっています。
2.パフォーマンスチューニングの選択肢
2つ目のポイントは「パフォーマンスチューニングの選択肢」です。
性能問題が発生した際、 BigQuery でパフォーマンスチューニングに関して何ができるのか?は重要な観点になります。また、 Enterprise の移行案件の場合、スキーマの変更やクエリの書き換えが簡単にできないケースもあるため、いざという時にアクセラレートできる方法があれば、性能試験で問題が発生しても安心です。
BigQuery では、最近のアップデートによって、豊富なパフォーマンスチューニングの選択肢が用意されています。下図で「(進化)」と記載のあるものが直近で追加された新しいバリエーションです。
このように、 BigQuery には様々なパフォーマンスチューニングの選択肢が用意されており、中にはクエリの書き換えが不要なものも存在します。これらを活用すれば、クエリやアプリケーションに影響を与えずにチューニングを実行することができます。
3.コスト効率の良いクエリ処理
3つ目のポイントは「コスト効率の良いクエリ処理」です。
エンタープライズ DWH を運用する上では、必要なデータのみにアクセスを限定して、コストとパフォーマンスを最適化することが重要になります。その観点では、「 BigQuery は全表走査(フルスキャン)をしているので効率が悪い」と思われている方もいらっしゃるのではないでしょうか?
BigQuery には「 Partitioning 」と「 Clustering 」という機能が搭載されています。これらを活用することで、読み取りデータ量を最小化し、データを高速処理することが可能になります。そして、その結果として、分散キーの設計や管理を行う必要がなくなり、高いパフォーマンスを実現できます。
さらに最近では、「 Native JSON 」や「テキスト検索インデックス」という機能が新しく実装されました。これにより、非構造化データや絶えず変化するデータ構造を対象とした検索が可能になり、全文検索やインデックス機能も使えるようになりました。
このように、 BigQuery はクエリ処理におけるコスト効率も非常に高いサービスとなっています。
4.高度なワークロード管理
4つ目のポイントは「高度なワークロード管理」です。
エンタープライズ DWH を検討されている方の中には、「 BigQuery は多くの利用者が同時にアクセスしてもストレスなく使える反面、ワークロードの制御が難しい」と考える方もいらっしゃるのではないでしょうか?例えば、重要なワークロードに対してリソースを優先的に割り振り、コスト効果を高めたい場合などが該当します。
BigQuery では、「ダイナミッククエリプラン」と「フェアスケジューラ」という機能が搭載されており、これらを活用することで、分析者にストレスを感じさせることなく、動的にクエリプランを生成し、実行中も最適化することができます。つまり、有効に使えるリソースを常に最大限に活用することが可能になります。
さらに最近では、 Reservation (Slot)によるワークロード管理が実装されたため、プロジェクトレベルで Slot の割当量をコントロールしたり、割り当てするジョブタイプを指定したりできるようになりました。また、 Query Queues ( Preview 版)のリリースにより、ジョブキューとリソース割り当てが可能になった点も大きなメリットだと言えます。
このように、 BigQuery は高度なワークロード管理を実現できるサービスとなっています。
5.柔軟なバックアップ
5つ目のポイントは「柔軟なバックアップ」です。
BigQuery におけるバックアップでは「 Time Travel 」を活用することになりますが、過去7日間のデータしか復元できない点がネックになっていました。
しかし、最近では BigQuery に「 Table Snapshot 」が実装されたことで、特定ポイントのデータの Snapshot を保持できるようになりました。さらに、「 Table Clone 」のリリースにより、本番環境の変更テストなどを柔軟に実行可能になっています。
このように、 BigQuery はバックアップ観点でも安心して利用できるサービスだと言えるでしょう。
6.環境の複製、クローン
6つ目のポイントは「環境の複製、クローン」です。
大規模開発を進める場合、「同時に複数チームが開発・テストを行うので環境のクローンを作りたい」というニーズが多く見受けられます。そして、 BigQuery では、開発環境に容易にクローンを作ることができない、とお考えの方も多いのではないでしょうか?
この観点において、 BigQuery は多種多様な環境構成を実現することができます。 BigQuery は「 Compute と Storage を分離している」という特徴を持っているため、下図のような様々な構成を取ることが可能になります。
このように、自社の状況に応じて、環境複製やクローンの作成を自由に行うことができる点は、 BigQuery の大きな魅力の一つだと言えます。
7.トランザクション対応
7つ目のポイントは「トランザクション対応」です。
エンタープライズ用途で DWH を利用する場合、 BI レポートで参照中のデータを更新するケースがあります。そのため、トランザクション対応が必要不可欠となるケースが一般的です。
従来の BigQuery では、複数ステートメントのトランザクションには非対応でしたが、最近のアップデートで追加された「マルチステートメントトランザクション」により、 BEGIN や COMMIT 、 ROLLBACK などを使って、複数のステートメントにまたがるトランザクションを制御可能になりました。
このように、 BigQuery がトランザクションに対応したことで、エンタープライズ DWH としての有用性が大きく高まったと言えるでしょう。
8.デプロイ・バージョン管理
8つ目のポイントは「デプロイ・バージョン管理」です。
エンタープライズ DWH には様々な管理対象があります。例えば、
- インフラ
- テーブルスキーマ
- データ変換
- スクリプト
- BI レポート向けのメトリック
などが挙げられます。そして、これらの構成管理に頭を悩ませている方もいらっしゃるのではないでしょうか?
BigQuery には、「 LookML 」や「 Dataform 」など、管理対象に合わせて利用できる様々なツールが用意されています。
このように、 BigQuery に搭載されている多彩な管理ツールを活用することで、手間なく効率的なデプロイ・バージョン管理を実現できます。
9.監視・ログ分析
9つ目のポイントは「監視・ログ分析」です。
BigQuery で監視やログ分析を行う場合、「 Cloud Logging 」を活用するケースが一般的ですが、ユーザーインターフェースが慣れなかったり、コストが発生したりする点を懸念されている方もいらっしゃると思います。
しかし、直近の BigQuery のアップデートにより、この監視・ログ分析の機能が強化されました。「 Log Analytics 」がリリースされたことで、 Cloud Logging のログを低コストかつ簡単に BigQuery へ連携し、効率的にログ分析を行うことが可能となっています。
このように、効率的な監視・ログ分析を実行できる点は、 BigQuery をエンタープライズ DWH として利用する上で大きなメリットだと言えるでしょう。
BigQuery に関する Q&A
Q.BI Engine は最適化したいクエリやテーブルを自分で指定することは可能ですか?
A.2022年4月現在はクエリやテーブルの指定は不可であり、最適化するクエリは BigQuery 側で自動的に判定しています。ただし、直近で自分がテーブルを指定できる機能がリリースされる予定なので、アップデートにご期待ください。
Q.Native Json やテキスト検索インデックス機能がコスト効率が良い、という点について詳しく教えてください。走査するデータ量が減るということでしょうか?
A.結論、走査するデータ量が減るということです。 Native Json の場合、 Json の中の特定項目に対して、直接データを取り出すことができるため、クエリするデータ量を抑えることが可能になります。また、テキスト検索インデックスについては、インデックスされたデータを参照しながら対象データを抽出するため、通常のクエリと比較して対象データ量が小さくなります。
Q.Table Snapshot を利用した時のコストについて教えてください
A.データの変更がない状態で取得された Snapshot は追加料金が発生しませんが、そのデータに対して変更が生じた場合は料金が発生します。
Q.環境クローンはテスト環境としても使えますか?例えば、本番環境では操作したくないが同等の環境でテストしたい場合には利用できますか?
A.はい、テスト環境としても利用できるため、本番環境では操作せずに同等の環境でテストを行うことが可能です。
まとめ
今回は、 Google が提供する DWH サービス「 BigQuery 」に注目し、その概要や近年のリリースにより強化された機能を踏まえて、エンタープライズ DWH としての BigQuery の価値をご紹介しました。
BigQuery が元々持っていた強みに加えて、エンタープライズ DWH 用途の様々なアップデートが施されたことで、 BigQuery はさらに利便性の高いサービスへと進化し続けています。そのため、あらゆるシーンでお客様を強くサポートし、現在・将来にわたり実現したいことを叶えます。
不安定な社会状況が続く現代において、将来の多様なワークロードに対応すべく、貴重なデータをどこに置いて活用するのか?は、すべての企業が意識すべき大切なポイントです。しかし、 DWH のモダナイゼーションを進める企業にとっては、シンプルかつ最適なソリューションを決定することは非常に難しく、また後から変更できない重要な選択だと言えるでしょう。
そして、ソリューション選定に迷っている場合は、ぜひ Google Cloud (GCP)の BigQuery を選択肢に追加してください。進化し続ける多彩な機能と Google のエコシステムにより、お客様の Data-To-Value (データの価値化)を最大化します。
本記事を参考にして、 Google Cloud (GCP)の導入および BigQuery の活用を検討してみてはいかがでしょうか?
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、
- Google Cloud (GCP)支払い代行
- システム構築からアプリケーション開発
- Google Cloud (GCP)運用サポート
- Google Cloud (GCP)に関する技術サポート、コンサルティング
など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!