BigQueryとは?
特徴や導入メリット、活用事例を解説

2023年08月03日
クラウドサービスの活用が広がる中、ビッグデータ解析などに役立つクラウドベースのデータウェアハウスサービス「BigQuery」が注目されています。BigQueryは環境構築が不要であり、比較的低コストで導入可能です。本記事では、BigQueryの概要や仕組み、導入のメリット、活用方法などの基礎知識をご紹介します。

BigQueryとは

BigQueryとは

 

BigQueryとは、「Google Cloud Platform(GCP)」で提供されているサーバーレスのデータウェアハウスです。環境構築を行うことなく高速でビッグデータ分析を行うことができます。BigQuery は、Google社内で活用されていた「Dremel(ドレメル)」というビッグデータ解析ツールの機能を、クラウド上で誰でも利用できるようにしたものであり、今ではデータ分析のツール・プラットフォームとして多くのユーザーから支持を得ています。

BigQueryの仕組み

BigQueryの仕組み

 

BigQueryは、以下の2つの仕組みによって特徴づけられています。

カラム型データストア

カラム型データストアとは、データを列単位でデータベースに格納する形式のことです。通常、データベースはデータを読み込む方向が横(行指向)であるのに対し、BigQueryは縦方向に読み込みます。これをカラム指向(列指向)と言います。カラム指向はすべてのデータを読み込む必要がなく、必要なデータのみを読み込み、さらにトラフィックの最小化や類似データの圧縮も可能です。これにより高速のデータ処理が可能となっています。

ツリーアーキテクチャ

BigQueryでは、クライアントからルートサーバーを通じてクエリを受け取りますが、そこからクエリを処理するリーフサーバーに至る際にクエリがツリー状に広がっていきます。これにより並列でのデータ処理が行われ、大規模なデータの高速処理が可能となっています。こうした構造をツリーアーキテクチャと言います。

BigQueryの料金

BigQueryの料金

 

BigQueryの料金システムとしては、以下のような特徴があります。

課金対象

BigQueryでは、「分析」と「ストレージ」に対して課金されます。GCPのホームページによれば、分析料金は「クエリの処理にかかる費用」と定義され、「SQL クエリ、ユーザー定義関数、スクリプト、テーブルをスキャンする特定のデータ操作言語(DML)とデータ定義言語(DDL)のステートメントなどが含まれます」と書かれています。

また、ストレージ料金は「BigQuery に読み込むデータを保存する費用」とされています。

 

出典:Google Cloud

料金モデル

料金モデルには、「オンデマンド」と「定額」の2種類があります。

 

「オンデマンド」はデフォルトの料金体系であり、クエリでスキャンされたデータのバイト数に応じて料金が発生します。1か月あたり1TBまでは無料です。現在、オンデマンドの料金は1TBあたり6米ドル(東京リージョン(asia-northeast1)の場合)ですが、2023年7月5日以降は、1TBあたり7.5米ドルとなっています。

 

「定額料金」は文字通り固定料金を支払うプランであり、スロットと呼ばれるクエリ処理容量を購入します。これまではスロットの購入を秒単位、月額、年額の各コミットメントプランから選択するシステムでしたが、こちらも2023年7月5日以降、料金体系がBigQuery Editionsへと変わっています(定額料金を選択していた場合、自動的にBigQuery Editionsへと切り替わります)。

BigQuery Editionsには以下3つのプランがあり、上位のプランになるほど機能が増えます。

 

Standard:0.051ドル / slot hour

Enterprise:0.0765ドル / slot hour

Enterprise Plus:0.1275ドル / slot hour

BigQueryのメリット

BigQueryのメリット

 

BigQueryには以下の4つのメリットがあります。

専門知識が不要

通常、データウェアハウスでデータベース構築を行う場合にはチューニングをしなければならず、データベースの専門家の知見がないと作業が難しいですが、BigQueryはサーバーレスで利用できるため、チューニングが不要です。

さらに、これまではクエリの処理で必須だったインデックスも不要であることから、データベースに関する専門知識がない人でも大量のデータ処理が可能となりました。

データの処理速度が速い

先述のように、カラム型データストアやツリーアーキテクチャの特徴により高速な処理を実現し、数十億行のリアルタイムデータであっても数十秒程度で処理可能です。Googleが提供するBigQueryのストレージにデータをインポートすることで、より高速な処理を実現します。

コストパフォーマンスが良い

BigQueryはクエリ処理を行うときのみサービスが起動し、料金は起動時にしか発生しないため、余分に料金がかかる心配がありません。そのため、他のサービスよりもコストを抑えることが可能です。保存したデータの量に応じてかかるストレージ費用もありますが、それを考慮してもコストは比較的安価です。

GA4との連携が可能

アクセス解析サービスのGA4(Google Analytics 4)と連携し、データの可視化やより詳細なデータ分析を行えるようになります。

 

一例として、GA4の生データをSQLで分析したり、BigQueryで管理している既存のデータとGA4のデータを統合して分析したりできます。また、GA4のデータを表やグラフにしてビジュアル化することも可能です。

なお、連携のためにはGoogle Cloudのユーザー登録が必要です。

BigQueryのデメリット

デメリットとして、最適な使用方法でないとコストがかさむ可能性があります。

BigQueryはオンデマンド料金で使い始めるケースが一般的であり、その場合クエリで処理するデータ量に応じて課金される仕組みになっています。「クエリ処理の最適化」を行わないと、思わぬところで費用がかさんでしまう場合がある点には注意が必要です。

BigQueryの活用方法

BigQueryの活用方法

 

BigQueryの活用方法としては以下の4つがあります。

ビッグデータの解析

メインの活用方法の1つはビッグデータの解析です。ビッグデータを解析するためには、まず解析したいデータをBigQueryにJSONやCSVなどのさまざま形式でアップロードしたうえで、テーブルを作成し適切なスキーマを設計します。SQLを使用してデータの抽出やフィルタリング、集計、結合を行い、クエリを最適化したうえでビジュアライゼーションツールを活用し、解析結果を可視化します。

リアルタイム分析

ストリーミングデータをリアルタイムで追加し、処理・分析する機能もあります。ストリーミングデータを即座にBigQueryに取り込むことで、ユーザーのリアルタイムな行動を分析するなど、タイムラグを生じさせることなく実施する必要があるタスクを確実に実行できるようになります。

機械学習の前処理

機械学習のモデル開発ではデータの前処理が必要ですが、BigQueryを活用することで大容量のデータを処理し、機械学習モデルのトレーニングに利用できます。

また、BigQuery MLという機能を活用することで、SQLクエリを利用してそのまま機械学習モデルを作成できます。

データの可視化

SQLの実行結果を可視化することも可能です。先述のようにGA4を通じてデータの可視化ができるほか、Google Looker Studioなどのツールと統合することでデータをダッシュボードなどとして表示し、可視化できるようになります。可視化を通じて直感的にクエリの結果を理解でき、より詳細な分析を通じて事業やサービス展開に役立てることが可能です。

BigQuery を含むGCPのコンサルティング・導入・運用はSproutlyまで

Sproutlyでは、クラウドに移行するシステム基盤の初期構築からアプリケーション運用に必要な保守サービスまでのすべてをトータルに運営・管理するSREサービス(月額定額料金)を提供しています。

Googleのサービスパートナーとして、企業様に対しGoogle Cloud Platform活用に向けたコンサルティング・導入・運用サービスなどを展開しており、BigQuery活用に向けたシステム基盤整備が可能です。

また、インフラからアプリまで全レイヤを自社エンジニアが対応することで、ワンストップでのシステム構築を実現しています。

 

GCP導入にご関心のある方はSproutlyまでお問い合わせください。

 

このコラムを書いたライター

SREベース運営局
SREベース運営局
SREベースは、Sproutlyが提供するSREサービス、SIサービスに関するトレンド・業界動向からノウハウまでアプリケーションの構築・運用に役立つ様々な情報をお届けします。