誰もが利用できる BigQuery のパフォーマンスとスケール
Google Cloud Japan Team
※この投稿は米国時間 2022 年 10 月 25 日に、Google Cloud blog に投稿されたものの抄訳です。
編集者注: 今回は、テレマティクス ソリューション企業である Geotab から、Google BigQuery でどのように組織全体のデータを民主化させ、データ パイプラインの複雑さを軽減させているかについて伺いました。
Geotab のテレマティクス デバイスと広範な統合センサーおよびアプリは、GPS、エンジン速度、周囲温度、運転パターン、気象条件など、車両に関する豊富な元データを記録します。当社のテレマティクス ソリューションにより、お客様はフリート運用の最適化、安全性の向上、低燃費化に役立つ洞察を得ることができます。
Google BigQuery は、組織全体のデータ ウェアハウスとして当社プラットフォームの中心に位置し、車両用のテレマティクス デバイスとすべての顧客関連データから情報を取り込みます。組織全体から毎日収集される約 30 億の元データレコードが、その目的にかかわらず、基本的にはすべて BigQuery に取り込まれます。
この投稿では、私たちが分析的洞察を加速させるために BigQuery を活用する理由と、データに関する極めて要求の厳しい課題の解決に BigQuery がどのように役立ったかをご紹介します。
ビッグデータを簡単に民主化する
Geotab は地理空間データを管理する企業ですが、当社のデータ プラットフォームの一般的なスケーラビリティは、特定の地理空間機能よりもさらに重要です。当社の最も重要な目標の一つは、社内でのデータの使用を民主化することです。誰かがデータを使用してビジネスのある側面をより適切に周知するアイデアを持っている場合、いつでもそれを行えるようにするべきです。
当社の組織内のほぼすべての従業員が、BigQuery にアクセスして閲覧権限のあるプロジェクトに関連するクエリを実行できます。アナリスト、バイス プレジデント、データ サイエンティスト、さらには通常データを扱うことのないユーザーでさえ、環境にアクセスして、顧客の問題を解決し、当社の製品を改善することができるのです。
ペタバイト規模の情報もありますが、すべての情報が大きいわけではありません。テーブルのサイズは、数メガバイトから数百テラバイトまでさまざまです。もちろん、BigQuery 環境でパフォーマンスの高いクエリを最適化するためのコツやテクニックはたくさんありますが、ほとんどのユーザーは最適化、並列化、スケーラビリティについて心配する必要はありません。
Google BigQuery は、組織全体のデータ ウェアハウスとしてプラットフォームの中心に位置しています。
BigQuery 環境の優れた点は、そのすべてが裏側で処理されることです。私たちは、BigQuery の専門家ではない人物がデータからのインサイトを得ようとするときでも、小さなテーブルを扱う場合と同じようにテラバイト単位のクエリを快適に実行できるようにしてほしいと考えています。これを実現できるのが BigQuery の優れたところです。ユーザーは、BigQuery への負荷を気にすることなく、10 億行の処理をするときでも、100 行の処理をするときと同じくらい簡単にシンプルなクエリを作成できます。高速で信頼性が高く、製品の構想とデータ探索を迅速に繰り返すことを可能にしてくれます。
Geotab では、組織全体のさまざまなビジネス ユニットに洞察を提供するために、何千ものダッシュボードとスケジュールされたクエリが常に実行されています。まれにパフォーマンスや最適化の問題が発生することもありますが、ほとんどの場合、BigQuery は問題なくすべてを処理してくれます。また、BigQuery が小さなテーブルでのパフォーマンスに最適化されているという事実は、組織全体に運用とモニタリングを分散できることを意味します。私たちが実行するクエリの 20% は 6 MB 未満のデータを処理するものであり、50% は 800 MB 未満のデータを処理するものなのです。そのため、BigQuery が大きなスケールだけでなく、より小規模なアプリケーションのスループットにも優れていることが重要です。
私たちは、非常に多くの異なるビジネス ユニットにまたがるこれらの負荷を、BigQuery が処理できることに自信を持っています。それが、私たちがさらに多くのチームにビジネス目標に対してデータドリブンなアプローチを採用するよう働きかけ続ける理由の一つです。
地理空間データ パイプラインの複雑さを軽減する
膨大な量の地理空間データを管理できる BigQuery の機能により、データ サイエンスへのアプローチも変わりました。私たちが運用している数十ペタバイト規模のデータを BigQuery 以外で運用することは現実的ではありません。
以前、オープンソースの地理空間ツールを使用していたときは、約 250 万のデータポイントで限界に達していました。BigQuery であれば、40 億を超えるデータポイントをモデル化できます。これは画期的なことです。地理空間ポリゴンの取り込みや管理などの基本的な機能でさえ、かつては Dataflow を使用して Python でつなぎ合わせる複雑なワークフローでした。現在、これらの地理データ型は BigQuery によってネイティブに処理され、テーブルに直接ストリーミングできるようになっています。
それだけでなく、分析、モデル構築、アルゴリズム開発のすべてを、BigQuery から離れずに同じ環境で行うことができます。単一の環境でこの規模の地理空間モデルの構築と分析を提供できるソリューションは他にありません。
たとえば、交差点を通過する車両の動きに関するデータセットがあります。ほんの数年前でさえ、交差点のデータセットを大規模に処理することは難しく、一度に処理する対象を 1 つの都市に制限する必要がありました。今では、BigQuery 上で、世界中のすべての交差点データを毎日処理しています。複数のツールにまたがる複雑なデータ パイプラインの設計について心配する必要はなく、データを使って何をしたいのか、また達成しようとしているビジネス成果に集中できます。
BigQuery は単なるデータ ウェアハウスではない
私たちは、分析アプリケーションで 40 億から 50 億のデータポイントを頻繁に処理しており、BigQuery はデータレイクのように機能します。SQL データベースだけでなく、CRM システムの BLOB や GIS データファイル、画像など、すべての非構造化データも簡単にサポートしてくれます。
SQL がたくさんの非構造化データを取り込み、それらによりリレーショナルな構造を適用し、従来のデータベース管理スキルを持つアナリストにとって使用可能で親しみやすいものにしていく様を見るのは、興味深い体験です。
良い例は、BigQuery の JSON 関数のサポートです。これにより、OpenStreetMap などからメタデータの階層的で不均一なデータ構造を取得し、それを BigQuery にネイティブに保存して、記述的なキーと値に簡単にアクセスできます。その結果、BigQuery のデータを効果的に操作できるようになるので、ビジネス毎の役割に応じて、博士レベルのデータ サイエンティストだけでなく、幅広いアナリストを雇うことができます。
当社のデータ サイエンス チーム内でも、数年前は Python で実行する必要があったことのほとんどが、今では SQL で実行できます。これにより、データ パイプラインの拡張部分を管理するよりも、洞察を引き出すことに多くの時間を費やすことができます。また私たちは、ストアド プロシージャなどの SQL 機能を活用して、データ ウェアハウス内で実行し、数十億のデータポイントを 5 秒のレイテンシで処理しています。
SQL を使用してこのデータに簡単にアクセスできるようになったことで、社内全体でデータを民主化して、すべての人がデータを使用して顧客の成果を改善し、興味深い新しいアプリケーションを開発する機会を得ることができるようになりました。
Google Cloud によるイノベーションの再考
何年にもわたって私たちが BigQuery を使い続けてきたのは、必要に駆られてではありません、私たちがそれを望んだからです。Google Cloud は、私たちの未来と、データドリブンな洞察とインテリジェンスでその水準を引き上げようとしているすべての組織の未来を後押しするための、洞察を推進するのに役立っています。BigQuery の機能は、ますます複雑になる分析、データ サイエンスの手法、地理空間のサポート、BQML の追加により、私たちのニーズに合わせて進化し続けています。
BigQuery は Geotab に、地理空間データを膨大な規模で管理、変換、分析する独自の機能を実現する環境を提供してくれます。また、ビジネスに必要な他のあらゆる種類の構造化データと非構造化データを、単一の信頼できる情報源に集約することも可能にし、私たちがそれに対してあらゆる分析を実行できるようにしてくれます。
- Geotab、シニア データ サイエンティスト / チームリーダー Kyle Liu 氏