logologo
BigQueryとは?特徴や使い方、料金、メリットなどを解説!
thumb_bigquery_01

BigQueryとは?特徴や使い方、料金、メリットなどを解説!

アンドエンジニア編集部
2024.02.20
この記事でわかること
Google BigQueryは、Googleから提供される「ビッグデータ分析」に利用できるフルマネージドなデータウェアハウスサービスです
標準的なSQLクエリで実行できるサーバレス型でチューニングが不要なため、専門的なスキルがなくても利用できるというメリットがあります
実行したクエリごとに料金が発生する料金体系などで、安価で誰もが使いやすい高性能なサービスといわれています

BigQueryとは?

image_bigquery_01

ビジネスのデジタル化が進み、多くのサービスやデバイスから膨大なデジタルデータが日々生成されています。そこで、いわゆる「ビッグデータ」を活用することも増えてきました。ビッグデータを活用する上で、より素早く大量のデータを解析していく重要性が高まっています。

ビジネスにとって戦略的で重要な役割を果たすエンジニアになるためには、ビッグデータを分析するスキルも求められるようになってきました。

現在、活用できるビッグデータ解析サービスとしては、Google社が提供する「Google BigQuery」(以下、BigQuery)が有名です。BigQueryは、安価で誰もが使いやすいツールでありながら、高性能なサービスと言われています。

今回は、BigQueryの特徴や使い方、メリット・デメリット、活用事例などを解説していきます。

そもそもBigQueryとは何か

BigQueryは、Googleのクラウドサービス「Google Cloud」(旧 GCP:Google Cloud Platform)の1つとして提供されるプロダクトです。大規模なクエリを実行機能として持つデータウェアハウスサービスとして、ビッグデータを超高速で解析できるサービスです。データウェアハウス(Data Ware House)とは、一般に時系列に整理された大量のデータを格納するシステムを指します。

BigQueryは2010年5月に発表され、2011年11月に一般提供されています。元々、Google社内では「Dremel」というツールを活用してビッグデータを解析してきました。Dremelの機能を一般のユーザーでも利用できるようにしたものが、BigQueryです。

BigQueryは、データ分析におけるアクセスログの解析や業務効率化に欠かせないツールとして注目されています。

【参考】:BigQuery公式サイト

データレイクとデータウェアハウスの違いとは?用途や注意点などを解説!

BigQueryでは何ができる?

BigQueryは、データ分析やPythonとのAPI連携などに活用できます。データ分析では、数テラバイト(TB)や数ペタバイト(PB)という大容量のデータを数秒、数十秒で処理できます。また、解析対象のデータをGoogle Cloud上にアップロードすると、PythonのコードからBigQueryのコマンドを実行できます。

さらに、実行処理速度が高速であるため、リアルタイムでのデータ解析も可能です。その他にも、様々なログデータなどの蓄積・保存場所として活用したり、API連携によって様々なサービスのログ情報などを効率的に解析したりすることにも役立てられます。

データ分析とは?基本的な目的や方法、職種例と転職方法について解説

BigQueryの特徴的な仕組み

image_bigquery_02

BigQueryは、大量のデータを高速かつ安価に解析できる点が特徴です。また、サーバーレスで利用できるため専門知識がなくてもデータ分析が可能です。

BigQueryは、なぜ高速にデータを分析できるのでしょうか。BigQueryのデータ処理が高速な理由は、ビッグデータでの検索を目的として設計されているからです。BigQueryの特徴的な仕組みとして「カラム型データストア」「ツリーアーキテクチャ」の2点が挙げられます。それぞれについて解説していきます。

【参考】:GoogleのBigQuery解説ページ

仕組み(1):カラム型データストア

BigQueryの特徴の1つは「カラム型データストアである」という点です。BigQueryは、分析クエリに最適化された列(カラム)形式でデータを保存します。

一般的なデータベースでは、クエリ処理を行う際のデータを読み込む際に「行単位」「横方向」に読み込んでいきます。一方、BigQueryでは「列(カラム)単位」「縦方向」で読み込んでいきます。

データを横方向に読み込む場合は、データ全体を読み込む必要があります。一方、データを縦方向に読み込むと、必要なデータの列のみが対象です。クエリの対象となる列のデータのみにアクセスするため、トラフィックを最小化できます。

また、一般的に同じ列に含まれるデータは類似性が高いことから、データのばらつきが少ないことも挙げられます。データの中に反復パターンが多ければ多いほど、圧縮率は高くなります。BigQueryでは、高い圧縮率を持ちつつクエリ処理を実行できるのです。

仕組み(2):ツリーアーキテクチャ

BigQueryが持つ仕組みのもう1つの特徴が「ツリーアーキテクチャである」点です。ツリーアーキテクチャとは、クエリがツリー状に広がる構造を指します。

BigQueryでは、クライアントからクエリを受け取るルートサーバーから実際にクエリ処理を実行する多数のリーフサーバーへとクエリが広がっていきます。これにより、何千台もの複数のリーフサーバーが分散的に処理可能です。

こうした独自のアーキテクチャが、BigQueryにおける大規模なデータの高速処理を実現しています。

BigQueryの利用方法

image_bigquery_03

次に、BigQueryの使い方を解説していきます。BigQueryを初めて利用する場合、まずは公式サイトにアクセスします。

公式サイト上で「BigQueryの無料トライアル」を選択し、画面の案内に従ってアカウント情報やお支払情報などの必要事項を入力します。

入力が完了すると「Google Cloud Platform」(GCP)に登録され、BigQueryを利用できるようになります。

【参考】:BigQuery公式サイト

BigQueryの使い方

次に、実際の使い方の例を紹介します。BigQueryでデータを分析する際は、まず「プロジェクト」を作成する必要があります。画面上部の「新しいプロジェクト」を選択し、任意の名前でプロジェクトを作成します。

次に、プロジェクト内に「データセット」を作成します。対象のプロジェクト名の右側にある「アクションを表示」のアイコンから「データセットを作成」を選択することで作成可能です。

続いて、データセット内にデータを読み込むための「テーブル」を作成します。データセット名の横にある「アクションを表示」のアイコンから「テーブルを作成」を選択します。

テーブルの作成画面で、テーブルの作成元やアップロードするデータ、テーブル名などを設定して「テーブルを作成」を選択します。解析対象のデータに合わせて設定して、テーブルの画面で「プレビュー」を選択すると、読み込んだデータの内容が確認できます。

BigQueryでテーブルに読み込んだデータを解析する際は「クエリ」ボタンを選択します。分析したい内容に応じたクエリをエディタ画面に入力して「実行」を選択することでデータ分析が実施されます。

BigQueryの料金体系

image_bigquery_05

BigQueryの料金は、コンピューティング(分析)、ストレージ、追加サービス、データの取り込みと抽出などに基づいています。データの読み込みとエクスポートは無料です。

BigQueryではインスタンスや仮想マシンを用意する必要がなく、必要に応じてコンピューティングリソースを割り当ててくれます。BigQueryの料金は、クエリの処理にかかる「分析料金」やデータを保存する「ストレージ料金」などの費用がかかります。

また、BigQueryには無料のオペレーションと無料枠も用意されています。分析で処理されるクエリデータは毎月1TBまで、ストレージは毎月10GBまで無料です(2023年5月現在)。

BigQueryの分析料金

BigQueryでは、クエリ実行用として「オンデマンド料金」「定額料金」の2種類の料金モデルが用意されています。初期設定ではクエリでスキャンされたデータに対して料金が発生するオンデマンド料金モデルで課金されます。2023年5月時点では、東京(asia-northeast1)におけるオンデマンド料金は「1TBあたり米6ドル」です。

また、定額料金プランに加入する場合は、専用の「クエリ処理容量(BigQueryスロットの割り当て数)」を購入します。クエリでこの容量を使用しても、処理されたバイト数に対しては請求されません。2023年5月時点では、東京(asia-northeast1)における月額定額料金は「100スロットあたり米2,400ドル」です。

BigQueryのストレージ料金

BigQueryでは「アクティブ ストレージ」と「長期保存」に対してストレージ料金が発生します。アクティブ ストレージには、過去90日間で変更されたテーブルまたはテーブル パーティションが含まれます。一方、長期保存で90日間連続して変更されていないテーブル、テーブル パーティションが含まれます。

ストレージの料金は、テーブルに格納されている非圧縮状態でのデータの量に基づいて計算されます。

【参考】:BigQuery の料金概要

BigQueryのメリット・デメリットとは?

image_bigquery_04

ここからは、より具体的にBigQueryを利用するメリット、デメリットを見ていきましょう。

BigQueryを利用する上で、ぜひ参考にしてください。

メリット1:データベースの専門知識がなくても扱える

一般的なデータウェアハウスでは、データベースに関する専門知識が必要になることが多いです。例えば、分析を始める前にサーバー構築や設定の最適化などを実施します。

また、クエリ処理を実施する場合は「チューニング」が必要です。各テーブルや各種領域、インデックスなどに対して最適な計算やシミュレーションなどをするためには、データベースの専門知識が求められます。

一方、BigQueryはサーバーレスで利用できるため、チューニング作業を必要としません。また、従来のデータベースのクエリで必須だったインデックスも不要で、データベースの専門知識がなくとも大規模なデータ分析を可能にしています。

メリット2:コストパフォーマンスが良い

BigQueryは、一般的なデータウェアハウスとは異なり、クエリの実行時のみサービスが起動します。そのため、サービスが起動している間のみ料金が発生します。テーブルに保存したデータ量とSQLで抽出したデータ量に応じて課金される従量制を取っています。

また、クラウドサービスとしてサーバーレスであるため拡張性に優れています。データ保存のためには別途ストレージ費用がかかりますが、その分を加味しても、類似のサービスと比べて安価に利用可能で、コストパフォーマンスが高いといえます。

メリット3:Google Cloudとのシームレスな連携

BigQueryのメリットとしては「他のGoogle Cloudのサービスとシームレスに連携できる」点が挙げられます。

たとえば、アクセス解析サービス「Google Analytics 4」(GA4)と連携でき、GA4で取得したデータをBigQueryにエクスポートすることが可能です。また、他のデータソースの情報と組み合わせて分析したり、データの可視化などによって、GA4単体よりも詳細なデータ分析が可能です。

GA4とBigQueryを連携させるには、Google Cloudのユーザー登録をする必要があります。さらにBIツール「Googleデータポータル」との連携も可能です。

BigQueryのデメリット

BigQueryには多くのメリットがある一方で、デメリットもあります。

まず挙げられるデメリットは「慣れるまでに時間がかかる」点です。BigQueryに関する学習環境は、十分整っているとはいえません。SQLの記述やエラーの解決にはある程度慣れる必要があるため、実際に活用できるまでに時間がかかることもあります。

また、BigQueryでは適切な設定をしていないと、コストがかさむ可能性も考えられます。BigQueryのコストを抑えたい場合は「クエリの対象データを限定する」「課金されるデータの上限を設定する」「テーブルを分割する」「データを圧縮する」などの方法を実施することが必要です。

SQLとは?概要・できること・プログラミング言語との違いを解説

BigQueryの活用事例

BigQueryは、すでに国内外で有効活用されています。例えば、マーケティング分野ではWebサイトのアクセス解析データを用いた広告改善や、Webサイトの顧客行動の分析改善に活用されています。

また、小売業では購買データの高速分析に用いたり、建材メーカーでは専門知識のない従業員が必要なときに利用できるデータ活用の民主化などにも活用されたりしています。

BigQueryはエンジニアとして活躍するための必須ツール

image_bigquery_06

BigQueryはとても使い勝手のよいデータウェアハウスであり、高速で安価で扱いやすい特徴があります。また、BigQueryは、多くのエンジニアが扱えるSQLで操作可能なため、BigQueryでデータ分析するために新たに学習する必要がなく取り掛かりやすい点も魅力の1つです。

ビッグデータ分析のニーズは幅広く、そのスキルはあらゆる業種や職種にとって重要な素養になると考えられます。これからエンジニアとして活躍していくためにも、ぜひ、BigQueryを使いこなせるようになることをおすすめします。

気になる人のXをフォローしよう!
公式LINE
公式YouTube
マイナビITエージェント

編集部オススメコンテンツ

thumb_gptowten_01
ChatGPTの面白い使い方15選!ビジネスや遊び相手になる事例
アンドエンジニア編集部
2024.02.19

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供

カテゴリー

編集部おすすめコンテンツ

アンドエンジニアへの取材依頼、情報提供などはこちらから

logologo
Powered by マイナビ AGENT