BigQuery(ビッグクエリ)は、Googleが提供しているクラウド型のDWH(データウェアハウス)です。非エンジニアでも扱いやすいSQLでクエリを実行できるため、手間を抑えつつ、よりスムーズにビッグデータ解析や機械学習モデルの開発が可能です。
とはいえ、初めてDWHを導入する方からすると、「社内にエンジニアがいなくても扱えるのか」「BigQueryは他社製品とどのように違うのか」など、疑問に感じることも多いのではないでしょうか。
そこで本記事では、BigQueryの仕組みや導入メリット、使い方を詳しく解説します。ツールの効果的な活用方法も紹介していますので、ぜひ参考にしてください。
Google BigQueryとは?高速処理が可能な理由やBigQuery Omniとの違いも解説
まずはBigQueryの概要や仕組みについて詳しく解説します。
BigQueryの概要
BigQuery(ビッグクエリ)とは、Google Cloud(旧GCP)上で提供されているクラウド型DWHです。本来、DWH(データウェアハウス)には、データ分析の原資である、膨大なデータを格納する役割があります。BigQueryはその機能に加え、格納したデータから即座にクエリを実行できます。クエリエディタやクエリの実行結果が1画面に表示されるため、効率良くリアルタイム分析やビッグデータ解析を行えるのが利点です。
また、データ処理の速さにも特徴があります。BigQueryでは、TB(1GBの約1,000倍)単位のデータを数秒で、PB(1TBの約1,000倍)単位のデータを数分で処理できます。
BigQueryのデータ処理が高速な理由
BigQueryのデータ処理が高速なのは、何千という数のサーバー群でクエリを並列処理しているためです。そして、その並列処理を実現できる理由が、「カラム型データストア」と「ツリーアーキテクチャ」という2つの仕組みにあります。
- カラム型データストア:
一般的に行単位でデータを保存するRDB(リレーショナルデータベース)に対し、BigQueryは列ごとにまとめてデータを保存する。結果、トラフィックの最小化と高圧縮が可能になり、クエリ実行時のスピードが大幅に向上。 - ツリーアーキテクチャ:
クライアントからクエリを受け取るルートサーバーから、実際にクエリ処理を実行する多数のリーフサーバーに対して、クエリがツリー構造で広がっていく仕組み。これにより、大規模分散処理が実現する。
この2つの仕組みによって、膨大なデータの迅速な処理を実現しています。例えば、処理が重くなりやすいマーケティングデータやソーシャルネットワークデータでも、BigQueryならストレスなくクエリを実行できます。
BigQuery Omniとの違い
BigQueryを導入する際は、サービス内容を混同しやすいBigQuery Omniとの違いをしっかりと理解することが大切です。
BigQuery Omniは、AWSのS3データやMicrosoft AzureのBlob Storageデータを集約し、BigQuery内でクエリを実行できるサービスです。AWSやMicrosoft AzureからBigQueryへと、データを転送する必要がないため、クエリ実行までの工数を大幅に削減できます。
Google・Amazon・Microsoftの3社のクラウドサービスを併用し、マルチクラウド環境でデータを運用している場合は、BigQuery Omniを活用するのがおすすめです。
BigQueryでできること5選
方法次第でさまざまな活用が可能なBigQueryですが、主に次のようなシーンで効果を発揮します。
- 他社DWHからの移行
- BigQuery内へのデータ転送
- リアルタイム分析
- マーケティング分析
- セキュアなデータ共有スペースの構築
ここでは、上記のようなBigQueryでできることを詳しく解説しますので、導入前に、具体的な活用方法をイメージしておきましょう。
他社DWHからの移行
BigQuery Migration Serviceを活用すると、他社のDWHを容易にBigQueryへと移行できます。BigQuery Migration Serviceの利用料金は無料、なおかつフルマネージドで利用できるのがメリットです(入出力ファイルで使用するストレージには料金が発生)。
10種類以上のSQL言語に対応しており、既存のDWHからスムーズに言語を変換できます。具体的には、Oracle社製のDWHやAmazon Redshift、IBM社のNetezzaなど、多様な製品と互換性があります。
既存ツールとの互換性に不安がある場合、BigQueryの移行評価機能を活用するのがおすすめです。同機能を活用すると、移行後の費用感やロードマップなどを一目で確認できます。
BigQuery内へのデータ転送
BigQueryへは、さまざまな外部システムからデータを取り込めます。ローカルやGoogleドライブ、Google Cloud Storageからの転送にも対応しています。1ヶ所のDWHへとデータを集約することで、分析業務が効率化された理想的なデータ基盤が完成するでしょう。
さらに、Datastream for BigQueryを活用すると、RDBからのデータの複製も可能です。
リアルタイム分析
BigQueryにはストリーミング機能が搭載されています。低レイテンシーで大量データを処理するためのストリーミングデータを、自動的に取り込めるのがメリットです。
同機能を活用すれば、クエリ実行までのスピードが飛躍的に向上します。リアルタイムの最新データにもとづいた意思決定が可能なので、迅速な判断が求められる業務に向いているでしょう。
マーケティング分析
Google AnalyticsやYouTube Studio、または他社のマーケティングツールからデータを取得し、BigQuery上に集約できるのも特徴です。データを統合したうえでクエリを実行し、分析レポートとして出力できるため、マーケティング分析の効率性が高まります。
Googleの機械学習モデルを適用できるのも利点です。機械学習の仕組みを実装すると、顧客の属性や行動傾向をもとに適切なオーディエンスが自動的に生成されます。ニーズを特定したうえで、そのデータを広告制作やWebサイト運用などに活かせるのは、大きなメリットだといえるでしょう。
セキュアなデータ共有スペースの構築
BigQuery内のデータは、コピーや移動といった操作が不要で、組織内または取引先との共有が可能です。さらに、Googleのセキュリティ機能を活かすことで、セキュアなデータ共有スペースを構築できます。
例えば、ツールの使用状況をモニタリングし、共有データに対するセキュリティリスクを即座に検出します。そのほか、顧客データを第三者に開示しないなど、厳格なアクセス制限を設けられるのもポイントです。
BigQueryを導入する6つのメリット
BigQueryを活用するメリットは次の通りです。
- 専門知識がなくてもDWHのチューニングを行える
- クエリの作成から実行までの作業が一画面で完結する
- 分析結果が即座に可視化される
- 簡易的な操作でクエリ結果を出力できる
- アップデート頻度が高く便利機能が次々と追加される
- 堅牢なセキュリティで重要なデータを保護できる
それぞれのポイントについて詳しく解説します。
専門知識がなくてもDWHのチューニングを行える
本来、DWHを利用するには、データベースの構築や運用設定の最適化といったチューニングが必要で、高度な知識や技術が求められます。そのため、社内にエンジニアがいない企業にとって、DWHはややハードルが高いツールです。
BigQueryは、非エンジニアでも扱いやすいSQLを使ってデータ分析を行えます。データの抽出のみであれば、SQLの文法を理解するだけでも十分に事足ります。膨大な時間をかけて学習する必要がないため、教育コストを抑えられるのが利点です。
また、クラウド上ですべての動作が完結するのも特徴です。サーバーレスで利用できる点から、複雑なチューニングをせずに大容量のデータ処理を行えます。
クエリの作成から実行までの作業が一画面で完結する
BigQueryの操作画面は主に3つのセクションに分かれます。
- ナビゲーション:
システム内に格納されているデータの閲覧・指定が可能。検索や概要表示にも対応。 - クエリエディタ:
クエリ言語の命令文を記述するためのスペース。 - 詳細:
クエリの実行結果やジョブ履歴などが表示される。
画面を遷移することなく、ワンストップでクエリを作成・実行できるのが特徴です。余計な装飾がなく、シンプルなユーザーインターフェースなので視認性にも優れています。
また、作業を中断する場合でも、実行中の内容をワンクリックで保存できます。保存した作業内容は、Googleアカウントを指定して他者との共有が可能です。
分析結果が即座に可視化される
BigQueryにはデータ探索機能が標準搭載されています。クエリの結果が表示されたタイミングでデータ探索機能を有効にすると、データ可視化ツールのGoogle Looker Studioが起動します。
また、使い慣れたGoogleスプレッドシートに分析結果を出力できるのもポイントです。手作業でテーブルを作成する必要がなく、分析結果を即座に可視化できるのがメリットです。
簡易的な操作でクエリ結果を出力できる
分析業務では、「クエリ実行後の結果をいったんテーブル上に保存したい」というケースがよくあります。その際は、「create table」のクエリを付与してデータを出力するのが一般的です。
一方、BigQueryでは、クエリ結果の一覧画面のなかに、出力データを保存するためのボタンが用意されています。そのため、ワンボタンでCSVファイルへの出力やテーブル作成が可能です。
1回の作業においては、わずかに作業時間を短縮できるだけの機能ですが、繰り返し行っていると削減時間が増えて大幅な効率化につながります。ローカルだけでなく、Googleドライブに出力できるのも特徴です。
アップデート頻度が高く便利機能が次々と追加される
BigQueryはクラウドサービスだからこそ、アップデート内容がシステムへと即座に反映されます。数あるクラウドサービスのなかでも、Google製品は更新頻度が高い傾向にあります。BigQueryも例に漏れず、頻繁に便利機能が追加されたり、システムが改善されたりするのが特徴です。
例えば最近では、2023年8月に発表された新たな統合インターフェース「BigQuery Studio」が、ユーザーの利便性を大きく向上する大きなアップデートだったといえるでしょう。
従来のデータ分析は、DWHやデータレイク、機械学習などのツールを個別に管理する必要がある点から、組織の生産性が低下しがちです。一方、BigQuery Studioを活用すると、上記のようなツールを一つのシステム内で操作できるため、より迅速なデータセットの発見や分析につながります。
参考:BigQuery Studioを発表 データからAIへのワークフローを加速するコラボレーション指向の分析ワークスペース|Google Cloud ブログ
堅牢なセキュリティで重要なデータを保護できる
DWHでは、企業の機密情報を取り扱う機会が多いため、高度なセキュリティ対策が求められます。その点、BigQueryには次のようなセキュリティ機能が搭載されており、より安全なデータ保護が可能です。
- データ暗号化:
通信中および休止中のデータを自動的に暗号化。Google Cloud Key Management Service(KMS)によって厳密に暗号鍵が管理されている。 - IAMポリシー:
システム内へのアクセス権限を一元管理するための仕組み。個別ユーザーだけでなく、グループやロールの柔軟な設定が可能。 - VPC Service Controls:
Google Cloud全体でのデータのやり取りを制御するための機能。特定のアプリケーションに対するアクセス制御や、データの移動制限などの設定が可能。 - オーディットログ:
システム内のアクティビティを監視するための機能。管理操作やデータへのアクセスなどの状況をリアルタイムで把握できる。
BigQueryの使い方
BigQueryの導入から活用までの基本的な流れは以下の通りです。
- 新規プロジェクトの作成
- データセットの作成
- テーブルの作成・クエリ実行
手順に沿って、テスト環境でクエリを実行してみましょう。
1. 新規プロジェクトの作成
Googleの公式サイトからBigQueryのコンソールにアクセスします。BigQuery Studioの画面が表示されるので、画面上部のプロジェクト名をクリックします。
[新しいプロジェクト]をクリックします。
プロジェクト名と利用する組織を設定しましょう。
新規プロジェクトを作成すると、そのプロジェクト名のBigQuery Studioに切り替わります。このプロジェクトのなかに、データセット(複数のテーブルを整理した箱のようなもの)とテーブルを格納します。
2. データセットの作成
エクスプローラの枠内に、先ほど作成したプロジェクトのIDが記載されています。このIDの右側にある三点リーダーをクリックし、[データセットを作成]をクリックします。
次の内容を参考にそれぞれの項目を設定しましょう。
- データセットID:
英数字とアンダースコアを組み合わせた任意のIDを設定。 - ロケーションタイプ:
データを保存する際のリージョンを選択。 - デフォルトのテーブルの有効期限:
チェックを入れると期限切れのデータが自動的に削除される。
データセットが生成されると、エクスプローラ内のプロジェクトIDの下位にデータセットIDが表示されます。
3. テーブルの作成・クエリ実行
作成したデータセットIDをクリックし、画面右上の[テーブルを作成]をクリックします。
ソースの項目から、アップロード元となるプラットフォームを選択しましょう。
そのほかの設定項目は次のように設定します。
- 送信先:
プロジェクト・データセットIDはデフォルトの状態。宛先となるテーブルが記載されていない場合は、対象となるテーブル名を入力する。 - スキーマ:
「自動検出」にチェックを入れると、フィールドが自動的に生成される。 - タグ:
任意のタグを設定できる。情報が整理されるため、カテゴリー分けや検索をする際に役立つ。
テーブル作成後は、クエリエディタに命令文を記述します。そして、[実行]のボタンをクリックすると、画面下部のクエリ結果に実行結果が表示されます。
BigQueryを上手に活用するための2つのコツ
シンプルなユーザーインターフェースで扱いやすいBigQueryですが、上手く活用するためには、いくつか押さえておきたいコツが存在します。以下で紹介する2つのポイントを参考に、BigQueryを最大限に活用しましょう。
クエリやテーブルを最適化する
クエリやテーブルを最適化することで、パフォーマンスの向上やコストの削減が図れます。クエリに関しては、読み込むデータ量に応じて課金されるため、コストを抑えるには不要なデータを極力読み込まないことが重要です。WHERE句によって必要なデータのみをフィルタリングしたり、SELECT句で必要なカラムを指定したりといった工夫を行うと良いでしょう。
また、クラスタテーブルやパーティションテーブルを使用すると、読み込み時のデータ量を減らせます。更新頻度ごとに別々のテーブルにデータを分けるのも効果的です。このような一手間を加えるだけで、ストレージコストの削減につながるだけでなく、全体的なパフォーマンス向上にも寄与します。
複数のシステムと組み合わせて利用する
数多くの外部システムと連携できるのもBigQueryのメリットです。この利点を活かせば、よりスムーズなデータの入出力や効果的な分析が可能です。
BigQueryは、次のようなシステムやサービスと連携できます。
- Googleスプレッドシート
- Google Looker Studio
- Google Firebase
- Google Analytics 4
例えば、Googleスプレッドシートにあるコネクテッドシート機能を使用することで、Googleスプレッドシートの操作感で、BigQuery内にあるデータを使用して分析用のグラフやピボットテーブルを作れます。また、Google Analytics 4からユーザーの行動履歴を取り込むなど、マーケティングツールとして活用できるのも特徴です。
BigQueryの料金プラン
BigQueryの料金は、「コンピューティング料金」と「ストレージ料金」によって構成されています。それぞれの詳細な料金は以下の通りです。
コンピューティング料金
コンピューティング料金とは、クエリの実行によって料金が発生する課金モデルです。クエリで処理されたデータ量にもとづいて課金される「TiB単位」か、仮想CPUの容量ごとに課金される「スロット単位」のいずれかを選択できます。
TiB単位の場合、1TiBあたり$7.5の料金が発生します(ロケーションがTokyo(asia-northeast1)の場合)。なお、毎月最初に発生する1TiBのみは無料です。
スロット単位の場合、「Standard」「Enterprise」「Enterprise Plus」の3つのエディションごとに料金が異なります。Standardのみ1年・3年契約には非対応です。
Standard | Enterprise | Enterprise Plus | |
従量課金制 | $0.051 / slot hour | $0.0765 / slot hour | $0.1275 / slot hour |
1年契約 | - | $0.0612 / slot hour | $0.102 / slot hour |
3年契約 | - | $0.0459 / slot hour | $0.0765 / slot hour |
※Tokyo(asia-northeast1)のロケーション
ストレージ料金
ストレージ料金は、BigQueryへとデータを読み込む際に料金が発生する課金モデルです。特定の期間中、テーブルに保存されているデータ量によって課金されます。
ストレージの種類 | 料金 |
論理ストレージ(アクティブ) | $0.023 / GiB month |
論理ストレージ(長期保存) | $0.016 / GiB month |
物理ストレージ(アクティブ) | $0.052 / GiB month |
物理ストレージ(長期保存) | $0.026 / GiB month |
※Tokyo(asia-northeast1)のロケーション
過去90日間で変更されたテーブルはアクティブストレージ、90日間連続して変更されていないテーブルは長期保存ストレージとして扱われます。なお、毎月最初に発生する10GiBのストレージは無料です。
BigQueryを導入して効率的なビッグデータ分析を行おう
BigQueryは、低価格で手軽にビッグデータ分析の環境を構築できるのが魅力です。「非エンジニアでもストレスなくDWHを利用したい」という方におすすめのサービスだといえるでしょう。Googleサービスとのスムーズな連携が可能なので、Googleに馴染んでいる方にも向いています。
このようなDWHは、Google以外にAWSやMicrosoft Azureといった大手クラウドサービスでも利用できるため、それぞれの違いをしっかりと見極めて最適なツールを選ぶことが重要です。
以下の資料で3大クラウドサービスを比較していますので、ぜひツールを選ぶ際の参考にしてください。
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- bigquery