BigQueryを使い始める時に知っておきたい基礎知識

ビックデータを分析し活用することが多い昨今、クラウドのデータウェアハウスである「BigQuery」を使用したいもしくは既に使っている企業も増えてきました。BigQueryはビックデータ処理を助ける便利なサービスです。特に膨大なデータを高速で処理したい場合や、Google系サービスのデータを使うことが多い場合は、役立つでしょう。

一方で、下記のような不安も多く聞きます。

  • 扱いが難しいのではないか
  • 莫大な料金がかかるのではないか

そこで本記事では、当社のBigQuery導入・運用実績と経験を踏まえ、お客様からいただいたご不安や質問を集め、BigQueryについて概要や特徴含めわかりやすく解説します。


1 BigQueryとはGoogle社のクラウドDWHサービスの一要素である

BigQueryとはGoogle社が提供するクラウドDWHサービス「Google Cloud Platform(GCP)」のプロダクトの1つです。

DWH(データウェアハウス)とは、蓄積された大量のデータを必要に応じ分析・活用するためのシステムです。クラウドDWHのGCPには以下のように様々なプロダクトが存在します。

GCPのプロダクト

参考:アーキテクチャ図用のアイコン

GCPの様々なプロダクトにより、データの収集・蓄積・加工・可視化が一気通貫して行うことが可能となります。その中でBigQueryは、主にデータの加工を担当しています。以下のようなイメージです。

なお、データを集める・貯める・分析用に加工する・可視化して分析する、の詳しい説明についてはこちらの記事で具体的に解説しています。合わせてご活用してください。

データプラットフォームとは?導入に向けて組織が知るべき基礎知識

データ加工の操作には、SQLを用いることが多いです。BigQueryはWebブラウザ上で起動することが可能で、SQLを書いてデータの処理を行います。

Google CloudのこちらのページからBigQueryを起動すると、以下のような操作画面が表示されます。

BigQueryはコマンドラインからの操作も可能である

BigQueryはWebブラウザからの操作以外にも、コマンドラインからの操作も可能です。

これにはGoogle Cloud SDKのインストールが必要となります。普段コマンドラインを使う場面が多い場合や、コマンドラインからgitを操作したい場合には相性が良いと言えるでしょう。詳しい使い方については、こちらに詳しく説明されているのでぜひご参照ください。


2 BigQueryの9つの特徴

BigQueryの様々な機能・特徴のうち、9つをピックアップしてご紹介します。

2-1 シンプルで使いやすい操作画面でクエリ作成・実行が出来る

1つ目は、操作画面が見やすくクエリ作成と実行がスムーズに出来ることです。

BigQueryの操作画面は下の図のように、3つのセクションに分けられており、この画面でSQLの作成と実行を行います。

3つのセクションの内容は以下の通りです。

  1. ナビゲーションペイン:クエリ・ジョブの履歴や、BigQueryに格納されているデータを閲覧・指定が出来ます
  2. クエリエディタ:実際にクエリを作成し、実行が出来ます
  3. 詳細ペイン:BigQueryに格納されているデータの詳細や、クエリの実行結果の詳細が確認出来ます

    全ての項目が理路整然として配置され、デザインも見やすいので、クエリの作成・実行が直感的に行えるのが大きな特徴です。

    「クエリ実行はどのボタンだっけ?」「テーブルを参照するにはどうすれば良いんだっけ?」と言ったことに悩まずにスラスラ操作できる見やすい操作画面です。

    2-2 処理が高速である

    2つ目は、クエリの実行速度が高速であることです。

    BigQueryはGoogle社の強力なインフラを使用するので、膨大なデータの高速処理が可能となります。

    TB(テラバイト)クラスのテーブルに関しても数秒・数分で結果が返ってくる為、「処理が遅すぎてそもそも分析作業が出来ない」といった事態を避ける事ができます。

    下の画像では、6.5TBサイズの処理が6分もかからずに終了したことを示しています。ローカルのPCやエクセルファイルで処理する場合とは、比較にならないほど高速の処理が出来るのが大きな強みです。

    2-3 従量課金ベースでありコスト調整が出来る

    3つ目は、BigQueryは使用したデータの分だけ課金される従量課金制なので、使用するデータ量や頻度を調整すればコストも柔軟に調整が出来ます。BigQueryを使わない月でも、膨大な費用が固定的にかかるということはありません。

    BigQueryの料金体系は大きく以下の2つに分かれています。

    • 保存しているデータに応じて課金されるストレージ利用料金
    • 処理するデータ量・操作方法に応じて課金されるデータ操作料金

    それぞれ以下のように、利用に応じた細かい料金が設定されています。

    Google Cloud公式サイトより引用

    利用に応じた従量課金と言っても、「どれくらい使うか不明なので見積もりが立てにくい」という場合もあるでしょう。その時は、こちらのサイトでBigQueryのコストシュミレーションが出来ますので是非ご活用ください。

    また、コストを更に抑えたいという時には以下のサイトが参考になるでしょう。

    BigQueryコスト最適化!ストレージ利用料金を把握しよう

    2-4 アップデートにより便利機能が追加され進化が早い

    4つ目は、アップデートによる機能の追加や改善が頻繁にされることです。

    BigQueryはSaaSであることから、月に何度もアップデートが行われています。以下の通り2020年11月だけでも、16回のアップデートが行われています。

    Google Cloud「Release Notes」より引用

    内容は、パフォーマンスの改善や関数の追加など多岐に渡り日々便利な機能が追加されているイメージです。

    中には「ちょうどこの関数が欲しいところだった!」といったこともあるので、頻繁にアップデートが走ることはユーザーにとって心強いと言えます。

    最近追加された便利機能〜日付と算術演算子〜

    最近追加された機能で便利だと感じたのは、日付計算を算術演算子を用いることが出来るようになった点です。(詳細はこちら)

    BigQueryで日付計算を行う際は、DATE_ADD(“2020-01-01”,INTERVAL 1 DAY)とすることが一般的です。ですが今回のアップデートでは、”2020-01-01” + 1とすれば同様のことが出来るようになりました。

    こうした「あると便利」「使えるとSQLの可読性が高まる」アップデートが多く、ユーザーとしてはありがたいですね。

    2-5 クエリ結果の作成・出力が直感的に出来る

    5つ目は、SQLの実行結果をテーブルとして保存するのが容易であることです。

    「クエリを実行した結果を一旦テーブルとして保存したい」という場面は分析業務をする上でよく有ると思います。その際に「結果の保存」機能が役立ちます。

    下記のように「結果の保存」を使用すると、BigQuery上にテーブルを作成することが出来たり、そのままcsvファイルに出力することが容易に出来ます。

    ですので、毎回「create table」とクエリの先頭に書かずにクエリ結果を作成と出力が可能です。

    2-6 クエリ結果の可視化が直感的に出来る

    6つ目は、SQLの実行結果を可視化して分析することが容易であることです。

    「クエリで出した値が正しいか可視化して確認したい」という場面にこの機能は非常に役立ちます。クエリを実行後、「データを探索」をクリックすると「データポータル(別名:Google Data Studio)」という可視化ツールが起動します。

    データポータルは下記のようにBigQuery上のデータを可視化できるツールであり、クエリ結果もテーブルを作成しなくとも同様に可視化が可能です。

    特に「テーブルを都度作成して可視化するのが面倒」という場面に重宝する機能です。なお、「データポータル」の詳しい使い方についてはこちらの記事に記載されているのでご活用してください。

    【連載】第1回 Google データスタジオ講座 Google データスタジオを使ってみよう

    また、データポータルだけではないデータ可視化ツールをお探しの場合はこちらの記事で詳細を書いています。

    2020年|実際に使って良かったデータ可視化ツール9選

    2-7 作成したクエリを保存、共有が出来る

    7つ目は、作成しているクエリの保存・共有が数クリックで簡単に出来ることです。

    クエリが長文で作業が中断する際や、自分が作成したクエリを他人に共有したい時に役立ちます。クエリを実行後、下記のように「クエリを保存」をクリックすると名前と公開設定を選択してクエリを保存することができます。

    git等でクエリを管理するのも一つの有効な手段ですが「BigQuery上でクエリの管理を完結したい」という時には役立つ機能でしょう。

    2-8 バッチを簡単に作成出来る

    8つ目は、定期バッチ処理を数クリックで簡単に作成出来ることです。

    「定期的にクエリを自動実行してテーブルを更新したい」という時などに、以下のようにクエリエディタから簡単にクエリのスケジュールを設定することが可能です。

    定期的に実行したいクエリを記述した後は、特に難しい処理を踏むことなくスケジュールを指定すればバッチ処理の設定は完了です。以下のようにスケジュール化したクエリは一覧表示が出来るので管理も容易です。

     

    2-9 Googleの他サービスのデータと容易に連携できる

    9つ目は、BigQueryに他のGoogleのサービスのデータをスムーズに取り込むことが可能です。

    BigQueryと連携が可能なGoogleのサービスは数多くありますが、代表的なものとしては以下が挙げられるでしょう。

    • Googleスプレッドシート
    • Google アナリティクス
    • Google Firebase
    • Google Cloud Storage

    ですので、既にGoogleのサービスを自社組織で使用しておりデータを活用したいという際は、BigQueryとの相性は良いです。


    3 BigQuery導入検討時に意識すべき2つのこと

    BigQueryの導入を考える時に、他クラウドDWHとして、Amazon社の「Amazon Redshift」、Microsoft社の「Azure Synapse Analytics」と比較検討することになることが多いでしょう。予算、規模など自社組織の状況に応じてどのサービスを選定するか判断する必要がありますが、以下の観点は導入検討時に理解しておくと良いです。

    3-1 料金体系が各DWHでは異なり優劣をつけるのが困難

    まず、Google・AWS・Microsoftの各DWHは料金体系が異なります。ですので、どのサービスを使うのが最も安価なのかは状況によって千差万別です。

    以下が主要3サービスの料金体系を簡潔にまとめたものです。

    表の通り、各サービスの料金体系が異なる為どのサービスが最も安いかの単純比較は難しく、自社組織のデータ量、利用頻度など状況に応じて最適なサービスを選ぶ必要があります。

    各サービスの料金体系は以下の公式サイトに詳しく記載されています。判断に迷う際には、それぞれのカスタマーサービスに問い合わせるのが最も確実です。

    3-2 連携できるサービスが違うので、プロダクト単体だけでなく連携も視野に入れるべき

    2つ目は、各社それぞれ他サービスとも連携が可能なので1つのプロダクトだけでなく他プロダクトも意識するべきです。例えば「データ分析」という用途だけを取ってみても、Google・Amazon・Microsoftのプロダクトは以下のように数多く存在します。

    Qiita「AWS/Azure/GCPサービス比較 2020.11」より引用

    実際に自社組織にサービスを導入し、ビックデータ処理をするとなると様々なサービスを使用することになるでしょう。その際には、1つのプロダクトだけを見るのではなく、自社にとってそのサービスが向いているのか判断しなければなりません。

    簡単に判断ができるものではありませんが、こちらのサイトでもケースごとにサービス比較がされており判断の参考材料となるでしょう。


    4 BigQueryは無料で分析を始めることが出来る

    BigQueryをこれから組織や部門で導入を検討する際には、無料でトライアルが可能です。

    BigQueryには以下の2つが用意されています。

    • 無料トライアル期間
    • 豊富なサンプルデータセット

    これらがあるおかげで、BigQueryのざっくりとした性能や使用感を無料で把握出来るでしょう。この2点について解説します。

    4-1 90日間$300分の無料トライアルを使用できる(2020年11月現在)

    1つ目は、Google Cloud Platformを初めて使用する場合、$300分の無料クレジットを含む90日間の無料トライアルを出来ることです。

    BigQueryに関しては、以下の上限の範囲内であれば無料で使用できます。

    Google Cloud「Google Cloudの無料プログラム」より引用

    ですので、自社組織で本格導入を検討する前に試しに使ってみたいという時に使わない手はないでしょう。実際に無料トライアルを始める方法については、公式のこちらのページを参照してください。

    なお、無料トライアルについては「90日かつ$300分まで」という上限がありそれを超えると料金が発生するのでご注意下さい。

    4-2 豊富なサンプルデータセットで動作を確認できる

    2つ目は、BigQueryには一般に公開されている豊富なデータで挙動を確認出来ることです。試しにBigQueryを使うにも「セキュリティ的に会社のデータを使うわけにはいかない」という場合でも一般公開のデータを使えるので安心してBigQueryを操作できます。

    下記のように、BigQueryのナビゲーションペインの「リソース」から一般公開データセットを追加出来ます。

    データセットの種類も豊富で、以下のように様々なカテゴリー別に存在します。自社組織が保有するデータに似たデータセットがあれば、より使用のイメージがしやすくなるでしょう。

    中には「Google Analytics」のサンプルデータも存在するのでも自社で使用している場合はこちらも活用することが出来るでしょう。


    5 BigQueryを使う時に参考になるコンテンツ

    BigQueryは使用ユーザーや既に活用している企業が多いこともあり、コンテンツが多数存在します。ここでは、自分の実務経験上個人的にオススメなものをご紹介します。

    5-1 BigQueryで学ぶ非エンジニアのためのSQLデータ分析入門

    ⇒Udemyで詳細を見る

    BigQueryを学習環境とした、標準SQLの知識を習得することができる動画講座です。基本的なSQL文法はBigQueryで問題なく使えますが、中にはBigQuery特有の文法がいくつか存在します。

    そうした「BigQuery特有のクセ」を学べる点でもこちらのコンテンツはオススメです。

    5-2 Google Cloud Platform エンタープライズ設計ガイド

    ⇒Amazonで詳細を見る

    BigQuery含めたGCPの特徴を詳しく記述した本です。BigQueryの自社導入を検討する場合、GCPを中心としたデータ分析基盤の構築を考えることとなるでしょう。その際に辞書として手元に置いておきたい本です。


    6 まとめ

    BigQueryで出来ることを具体的な機能とともにご紹介しました。

    Google社の強力なインフラを使用したBigQueryはビックデータを処理する上で非常に便利です。エクセルやローカルPCでは到底出来ないような、大容量なデータが高速で処理が可能です。また非常にシンプルで使いやすいのも大きな特徴で、これから扱う場合でもスムーズに扱えると思います。

    無料トライアルも用意されており導入に向けて試しに利用することも用意ですので、一度試してそのパワーを実感されるのがおすすめです。

     

    無料EBook:DXの羅針盤−よくある19の質問に回答-

    デジタル戦略を考えようとしても、「自社のデータ活用に悩んでいる」「何からやればいいのかわからない」「新しく新設したデジタル戦略室に配属された」などお悩みの方は多いでしょう。
    そこでこの冊子では、DXやデジタル領域でよくある19の質問にデータビズラボ代表永田が詳しく丁寧に回答しています。

    データ活用・デジタルトランスフォーメーション(DX)の大方針ともなる羅針盤としてご活用していただけるものと信じています。

    お問い合わせ

    サービスに関するご質問や講演依頼など、お気軽にお問い合わせください。2営業日以内にお返事いたします。

    データをビジネスに活かす
    デジタル化/DX/データ活用の成功事例