ビッグクエリとは何か?高速データ処理が得意な理由やメリット・デメリットを紹介
本記事では、なぜビッグクエリは高速データ処理が得意なのか、使用するうえでのメリットやデメリットは何かなどについて紹介します。導入を検討している方は、ぜひ参考にしてください。
本記事では、なぜビッグクエリは高速データ処理が得意なのか、使用するうえでのメリットやデメリットは何かなどについて紹介します。導入を検討している方は、ぜひ参考にしてください。
知識・情報
2022/07/08 UP
- 技術
膨大なデータを蓄積しつつ、データベースよりも分析に最適化されたシステムをDWH(Data Ware House)サービスと呼びます。ビッグクエリはGoogle社が提供するDWHサービスであり、ビッグデータ解析を得意とし、高速なデータ処理ができることが特徴です。
本記事では、なぜビッグクエリは高速データ処理が得意なのか、使用するうえでのメリットやデメリットは何かなどについて紹介します。導入を検討している方は、ぜひ参考にしてください。
ビッグクエリとは
ビッグクエリ(Google BigQuery)とは、Google Cloudで提供されるビッグデータ解析サービスのこと。もともとはGoogle社内でDremelと呼ばれるサービスが利用されており、これを外部利用できるようにしたものです。2012年からGoogleの公式サービスとしてリリースされました。
大きな特徴は、多数のサーバー群を活用してクエリを並行処理し、データ処理の高速化を実現していることです。数TBや数PBオーダーの大容量データでも、数秒から数分で処理を完了できます。ビッグクエリ内に保存されているデータの分析だけでなく、外部のツールやサービスと連携し、外部からインポートしたデータの分析も可能です。
ビッグクエリのデータ処理の仕組み
なぜビッグクエリは高速なデータ処理ができるのでしょうか。高速化を実現するカラム型データストア、ツリーアーキテクチャの2つの仕組みについて紹介します。
カラム型データストア
データベースは一つの行を一つのデータとして扱う、「行指向」であることが一般的です。一方で、ビッグクエリはデータを列単位で扱う、「列指向」のカラム型データベースを採用。クエリの対象となる列のみにアクセスするため、トラフィックを抑えられます。
<行指向の場合>
<列指向の場合>
カラム型は特定の列を抜き出して操作するような、集計処理やデータ圧縮処理が得意です。また行指向のデータベースでは検索や結合といった処理を高速化するため、インデックスと呼ばれる索引の仕組みが用いられていました。しかし、インデックスは貼り方次第では、元データの何倍もの容量を必要とすることもあります。カラム型データベースであればインデックスが不要となるので、ビッグデータ解析にも適した仕組みであるといえるでしょう。
ツリーアーキテクチャ
ビッグクエリでは、クエリの並行処理のためツリーアーキテクチャを採用しています。ルートサーバーがクライアントからクエリを受け取り、リーフサーバーと呼ばれる複数のサーバーに処理を指示。複数のサーバーに対してツリー状に広げて処理を行なう仕組みです。
複数のサーバー上で同時に分散処理を行ない、高速なクエリ処理を実現しています。大規模データであっても高速処理の維持が可能であり、ビッグデータ解析の高速化に寄与しています。
ビッグクエリのメリット
さまざまなDWHサービスがありますが、各サービスは得意とする処理内容やコストなどに違いがあります。ビッグクエリのメリットには何があるでしょうか。おもな3つのメリットについて紹介します。
ビッグデータ解析に向いている
ビッグクエリはDWHサービスのなかでも、大量なデータの保存や分析に対応できることが特徴です。カラム型データストアやツリーアーキテクチャなどの仕組みにより、大規模データに対しても高速なデータ処理を実現します。ECサイトの購入データやカスタマーデータ、ソーシャルゲームのユーザーデータ、Webサーバーなどのログデータなど、膨大なデータの解析を可能にします。
データ処理速度が高速であることから、IoT技術とも相性が良いといえるでしょう。複数のセンサーで取得したデータをもとにリアルタイムな解析も可能です。またユーザー側でサーバーがなくとも利用でき、データベースに必要なチューニングが不要であるなど、導入しやすい環境が整っています。
他のGoogleのサービスと連携できる
Google Cloud StorageやGoogleスプレッドシート、Googleアナリティクスなど他のGoogleのサービスと連携できることもメリットです。連携先のサービスからビッグクエリへデータを取り込んで処理できます。Googleのサービスをすでに使用している方はビッグクエリが有力候補となるでしょう。
またGoogleのサービスではありませんが、Microsoft社のPower BIやTableau Software社のTableauなど、他社のBI(Business Intelligence)ツールと連携できることも特徴です。ビッグクエリをデータベースとして利用し、連携先のBIツールでビッグデータの分析や可視化ができます。蓄積されたデータから有益な情報を発見しやすくなるでしょう。
コストパフォーマンスに優れる
ビッグクエリはサービスを起動し、検索などの操作を行なっている間だけ料金が発生するシステムです。データの保存量に応じて金額が決まるストレージ料金と、クエリ処理にかかる分析料金の2つでコストが決まります。一般的な利用の場合、分析料金のほうが主となる場合が多いため、クエリ処理の頻度が少ない用途であればコストパフォーマンスが高いといえるでしょう。
分析開始前にデータ量からコストの目安が見積もれるため、安心して利用できます。またストレージ料金は毎月10GBまで無料であり、分析料金は毎月1TBまで無料です。使用するデータ量が無料範囲内に収まるほど少なければ、コストをさらに抑えられます。
ビッグクエリのデメリット
ここまでビッグクエリのメリットを紹介しました。次にビッグクエリを使用する際に注意すべきデメリットを紹介します。
SQLの基礎知識が必要
ビッグクエリのデータを用いて分析や抽出を行なうには、データベース言語であるSQLを使用しなければなりません。複雑な操作方法を学ぶ必要はないものの、SQLの基礎知識が必要です。SQLの知識がなく、DWHサービスを利用した経験のない初心者であれば使いこなすのに時間がかかるかもしれません。
ただしデータベースのチューニング作業が必要ないなど、データベースの専門知識までは不要です。データ抽出だけなど、単純な作業であれば基本的なSQLの文法を学ぶだけでも対応できるため、学習する負担は少ないでしょう。データベース専門のエンジニアがいなくてもビッグデータの分析が可能であることはメリットといえるでしょう。
他のDWHサービスが低コストな場合もある
ビッグクエリ以外にもさまざまなDWHサービスがありますが、利用したい状況によって使いやすさやコストに違いがあります。ビッグクエリはストレージ料金とクエリ分析料金の2つがありますが、おもにクエリ処理で利用したデータ量に対して課金される仕組みであり、ストレージ料金は安価です。他のDWHサービスでは使用時間に対して課金される仕組みなどもあります。
例えば、大量のデータに対して少ないクエリ処理を行なう場合などはビッグクエリを利用するメリットは大きいでしょう。一方で、データに対して頻繁に分析するような処理を行なうのであれば、他社のDWHサービスのほうが低コストとなる場合もあります。コストについては具体的な処理内容を想定し、他のDWHサービスとも比較検討することをおすすめします。
ビッグクエリの活用事例
ビッグクエリは多くの企業において業務に採用されています。下記に示すのは導入によって実際に業務が改善された事例です。これまでどのような課題を抱えていたか、ビッグクエリの導入でどのように改善したか説明します。
オンライン通販サイトの事例
大手オンライン通販サイトでは、ビッグクエリの導入によって扱えるデータ量が10倍になり、処理時間の短縮も実現しています。導入前は事業の成長とともに取り扱う受発注データや商品データが膨大になっており、月次のバッチ処理が24時間で終わらないなど、大量のデータを扱うことが困難になっていました。もともと使用していたデータ分析基盤はオンプレミスという制約があったのも、その一因です。
大量データを高速で取り扱える、シンプルで多くのユーザーが操作できるなどの利点から、ビッグクエリを採用しました。ビッグクエリの導入により、社内のあらゆるデータがビッグクエリに集約できる、丸一日かかる処理が数十分で終えられる、データ分析をしたいというメンバーが増える、といった成果が表れています。
モバイル向けゲーム会社の事例
モバイル向けゲーム会社では、ビッグクエリによりログ解析の効率化を行ない、コストを抑えることに成功しています。以前使用していたDMP(Data Management Platform)サービスは、ユーザー規模が増えるにつれてコストが増加していたことが課題でした。コストダウンのため不要なデータを削除したりなどしても効果が見られず、以前より評判を耳にしていたビッグクエリへ乗り換えることになりました。
ビッグクエリへ移行した結果として、コストは1/100程度にまで激減し、以前は20分かかっていた処理が数秒で終わるほど動作速度が向上しました。以前のDMPサービスからビッグクエリへの移行もスムーズに完了しており、エンジニアに大きな負担がかからず以前と同等の利用環境を再現できているそうです。
ビッグクエリは、高速なデータ処理を実現するビッグデータ解析サービス
Google社のビッグクエリは、高速なデータ処理を実現するビッグデータ解析サービスです。カラム型データストアやツリーアーキテクチャなど、クエリ処理に特化した仕組みを持つことが特徴といえます。大容量のデータでも少ない時間で処理が完了できることが強みです。
ビッグデータ解析に適しているだけでなく、他のGoogleサービスと連携できることもメリット。利用したデータ量に応じてコストが発生するため、大量のデータに対して少ないクエリ処理を実行する場合はコストパフォーマンスが高いでしょう。ただし、処理の内容によっては他のDWHサービスのほうが低コストとなる場合もあるため、導入の際は比較検討することをおすすめします。