- 解析
- 更新日:

皆さんは、BigQuery(ビッククエリ)というシステムをご存知ですか?
BigQueryとは、Google Cloud Platformが提供するビッグデータ解析サービスです。
「ビッグデータ解析サービス/ソフトウェア」はたくさん存在しますが、BigQueryは数TB(テラバイト)あるいはPB(ペタバイト)に及ぶデータセットに対し、SQL(SQLとはデータベース言語であり、データベースを管理するソフトウェアを操作・制御することが目的です)に似たクエリ(クエリとは、データベースからデータを抽出したり操作したりといった処理を行うための命令のことです)を実行し、数秒あるいは数十秒程度で結果を返すというサービスです。
今回、BigQueryというサービス が気になる人のために、概要、簡単な使い方を詳しく説明していきます。
目次
BigQueryの概要
BigQueryとは?
そもそもBigQueryはグーグル社内で使われていたDremelと呼ばれる社内解析ツールをサービスとして公開したものです。Dremelは2010年に論文が公開され、クローズドにリリースされているサービスです。
大規模データに対してアドホックなクエリを実行するためのサービスであり、Google社内では非エンジニアも使用しています。
Dremelは、SQL さえ覚えれば大量のデータを使って集計作業や解析作業を行うことが可能です。
BigQueryはそんなDremelをGoogle社員以外でも誰もが使えるようにしたサービスです。大量のデータを解析することができる出来るのは、データ処理が高速であるからです。
では、なぜBigQueryはデータ処理が高速なのでしょうか?
高速処理の理由
BigQueryのデータ処理が高速な理由は、何千という数のサーバー群でクエリを並列に処理することによって全体の処理効率向上を図っているからです。そして、BigQueryには2つの仕組みがあることで、この並列処理を実現させています。2つの仕組みとは、カラム型データストアとツリーアーキテクチャです。
それぞれ簡単に説明していきましょう!
カラム型データストア
一般的なRDMBMS(Relational Database Management System)では通常行単位にデータを保持します。RDMBMSとは、一件のデータを複数の属性の値の組みとして表現し、組みを列挙する事でデータを格納していく方式であるリレーショナルデータベースを管理するための総称です。これに対して、BigQueryは列ごとにまとめて保存を行います。それによりBigQueryはトラフィックの最小化と高い圧縮率を可能にし、このデータ保存形式がクエリ実行時の高速データ処理を実現しています。簡単にいうと、カラム型データベースは列を抜き出して操作する集計処理が得意ということです。例えば、IBMが買収したNetezzaなどがカラム型データベースの機能を備えてます。
ツリーアーキテクチャ
BigQueryはツリーアーキテクチャによって分散処理(分散処理とは1つの処理を分散して行う方式)を行っています。ツリーアーキテクチャとは、クライアントからクエリを受け取るルートサーバから、実際にクエリ処理を実行する多数のリーフサーバーに対して、クエリがツリー構造で広がっていくものです。簡単に言うとツリー式で分散処理する構造になっています。これにより、大規模分散処理を実現しています。
以上2つの仕組みが、BigQueryのデータ処理を高速にしている理由です。
では、BigQueryを利用するには、どれくらいの金額が必要なのでしょうか?
BigQueryの料金
BigQueryを使用するにあたって、やはり気になるのが料金ですよね。
表にまとめてみましたのでご覧ください。
ストレージ料金
BigQuery に読み込むデータを保存する費用です。
種別 | 費用 |
---|---|
アクティブストレージ | $0.02ドル/ GiB/月 |
長期保存ストレージ | $0.01ドル/ GiB/月 |
アクティブ圧縮データストレージ | $0.04ドル/ GiB/月 |
長期保存圧縮データストレージ | $0.02ドル/ GiB/月 |
メタデータ ストレージ | $0.04ドル/ GiB/月 |
クエリ料金
データの整理をしたり、分析をしたりするクエリを実行するのにかかる費用です。
クエリ実行料金 | 費用 | 補足 |
---|---|---|
クエリ(オンデマンド) | $6.25 /TiB | 通常の課金形式 |
Standard Edition | $0.04 /slot時間 1分の最低料金があり、以降は1秒単位で課金 | 料金が固定された月額費用 |
Enterprise | $0.06 / slot時間 1分の最低料金があり、以降は1秒単位で課金 $0.048 / slot時間 1年契約 $0.036 / slot時間 3年契約 |
料金が固定された月額費用 |
Enterprise Plus Edition | $0.01 / slot時間 1分の最低料金があり、以降は1秒単位で課金 $0.08 / slot時間 1年契約 $0.06 / slot時間 3年契約 |
料金が固定された月額費用 |
クエリ(オンデマンド)については最初の1TiBは無料でご利用いただけます。
引用:料金 | BigQuery: Cloud Data Warehouse | Google Cloud
他社(Amazon Redshiftなど)のサービスとの違い
実は、BigQuery以外にもいくつか似たようなサービスが存在します。
代表的なものは、以下のものです。
- Amazon Redshift
- Azure EventHubs
- Amazon Kinesis
Amazon Redshiftとは、AWSが提供するデータウェアハウスサービスです。データウェアサービス(DWH)というのは、様々なデータ源からデータを収集・統合・蓄積し、分析の為保管しておくサービスです。このAmazon Redshiftは比較的BigQueryに近い領域です。BigQueryが、カラムのデータ型を定義して、テーブルにデータを挿入しさえすれば、その後の管理がほぼ不要であるのに対し、Redshiftではカラムの圧縮型を事前に定義しておく必要があり、データノードのサイジングを管理するなどの運用作業が発生する点が異なります。
Azure EventHubsやAmazon KinesisはBigQueryとは違った特徴のサービスです。これらはバッチやアドホックな処理はできませんが、大量に流れてくるデータのストリームに対してリアルタイムの処理が可能です。
他社のサービスと比較して、状況にあったものを選びましょう。
実際に使ってみよう!
BigQueryは有料のサービスであるが今回は無料でできる出来る範囲で使ってましょう。
*Googleやその他のユーザーが公開しているパブリックなデーターセットに対して、その枠内のクエリを実行する場合はクレジットカードの登録はいりません。それ以外の操作については、無料枠の範囲であってもクレジットカードの登録が必要です。
注意しましょう。
使い方
①まず必要なのはGoogleアカウントです。持っていない人はGoogleアカウントの作成から始めましょう。
②Googleアカウントにブラウザでログインをしたら、GoogleCloudのコンソールにアクセスしましょう!初めてアクセスした人は、プロジェクトの作成を求められるはずです。
好きなプロジェクト名で良いので名前をつけましょう。
③プロジェクトの作成後、以下のの画面になるはずです。
④上の画面のビッグデータの下にあるBigQueryという項目のリンクを開くと、BigQueryのWebコンソール画面が開きます。
「ivory-haven-454810-p4」※ユーザによって異なる の・が縦に3つ並んだアイコンををクリックし「データセット作成」をクリックします。
⑤以下の画面で任意のデータセットIDを設定します。
⑥データセットを作成すると任意のデータセットが以下のように現れます。
またその後に「テーブルを作成」をクリックします。
⑦以下の表において任意の情報を追加し、テーブルを作成します。
⑧その後任意の名前のテーブルが画面に作成されます。「クエリ」を選択することでSQLを記述する画面となります。
⑨以降は加工したい内容に合わせてSQLクエリを作成し実行していくこととなります。
どのように使われているのか
実際にBigQueryはどのように使われているのでしょうか?
例えば、BigQueryと国税庁が提供しているオープンデータを用いて東京都の97万の法人を区ごとにカウントし、どの区がいくつ法人があるかなどをわずか30秒程度で表示させることができます。
また、横浜市にある会社の数などをデータを用いることによって数秒で表示させることもできます。
まとめ
今回は、BigQueryの基礎知識と簡単な使い方をご紹介しました。
なんか難しそう、使うことができるかな、など思っている方も多いかもしれません。
しかし実際は、とても簡単にビックデータの解析ができます。
今後使うかもしれない、興味を持ったと言う人は是非この記事を参考にしてBigQueryを始めてみてください。
【無料】GA4の基本がわかるGA4セミナー、開催中!
株式会社デジタルアイデンティティでは、Google Analytics4セミナーを開催しています。
アクセス分析のスペシャリストがGA4の基本的な使い方を解説します。
こんなお悩みはありませんか?
- GA4を導入したいがどこからはじめればいいかわからない…
- GA4の管理画面をさわっているが探索レポートなどを使えていない…
- アクセス解析の定期的なレポートを作成したい…
GA4はうまく使いこなせればwebサイトの状況をさまざまな角度から分析可能で、多くの有益なデータを得ることができます。
しかしその反面、通常はGoogle社からの正式なサポートは無く、マニュアルも存在しないため、利用者は各自で使い方を習得する必要があります。
ぜひ、以下のページからお気軽にお申し込みください!