Traffine I/O

日本語

2022-08-11

BigQuery

BigQueryとは

BigQueryとは、Google Cloud Platform(GCP)が提供するデータウェアハウスです。BigQueryは、高度なデータ分析を行うための強力なツールであり、ユーザーは膨大なデータ量の中から迅速に情報を抽出することができます。特に、120億行を超えるデータの正規表現マッチ付き集計を数十秒という驚異的な速さで完了させる能力があります。

BigQueryは、その高性能と柔軟性により、様々なビジネスシーンでの使用されています。

  • ログ解析
    大量のログデータを迅速に処理し、ユーザーの行動やシステムの動作を詳細に分析することが可能です。これにより、ウェブサイトの最適化や障害の原因分析など、様々なタスクを効果的に進めることができます。

  • 業務効率化
    企業の業務プロセスに関するデータを集約・分析することで、業務のボトルネックや改善点を明確にし、効率化の取り組みを推進することができます。

  • リアルタイム分析
    BigQueryは、データのストリーミング挿入をサポートしているため、リアルタイムのデータフローに対しても、迅速な分析を行うことが可能です。これにより、リアルタイムでの意思決定や迅速なビジネスアクションが可能となります。

BigQueryのアーキテクチャ

BigQuery architecture
BigQuery explained: An overview of BigQuery's architecture

  • Distributed Storage
    BigQueryの基盤となるストレージシステムは、分散型アーキテクチャを採用しています。この分散ストレージは、データを複数のサーバーに分割して保存することで、高度な耐障害性とスケーラビリティを実現しています。ユーザーはデータ量に関係なく、一貫した高速なパフォーマンスを享受することができます。

  • Distributed Memory Shuffle
    メモリ上でのデータの再分配や集計処理を高速に行うための技術です。この技術により、大量のデータに対する複雑なクエリも、効率的に処理することが可能となっています。

  • High-Available Cluster Compute
    BigQueryの計算クラスターは、高可用性を備えており、障害発生時でも迅速に復旧し、計算処理を継続することができます。これにより、ビジネスクリティカルな分析が中断されることなく、安定して実行されます。

  • Petabit Network
    高速なネットワークは、BigQueryの背骨を形成しています。このPetabit級のネットワークを活用することで、膨大なデータの移動や処理が極めて迅速に行われます。

BigQueryの特徴

  • 分析のスケーラビリティ
    BigQueryは、小規模なデータセットからペタバイト級の巨大なデータまで、様々な規模の分析をサポートしています。そのスケーラビリティの秘密は、背後の分散アーキテクチャにあり、この強力な基盤により、データ量の増減に関わらず一貫した高速なパフォーマンスを提供します。

  • ストレージの高可用性
    データの損失や破損のリスクを最小限に抑えるため、BigQueryはデータを複数の場所に冗長的に保存します。これにより、一部のハードウェアやサーバーに障害が発生した場合でも、データへのアクセスが継続され、ビジネスの中断を避けることができます。

  • サーバーレス
    BigQueryはサーバーレスのアーキテクチャを採用しているため、ユーザーはインフラストラクチャの管理やスケーリングの手間を気にする必要がありません。データのクエリや保存のみに集中し、バックエンドの管理はGoogleが担当します。

  • ANSI準拠の標準SQL
    ユーザーは、標準的なSQLを使用してデータをクエリすることができます。これにより、他のデータベースやツールからの移行が簡単で、データアナリストやエンジニアがすでに持っている知識を活かすことができます。

  • データのリアルタイム分析とストリーミング挿入
    リアルタイムのデータフローに対しても、迅速な分析を行うことが可能です。ストリーミングデータを直接BigQueryに挿入し、そのデータに対して即座にクエリを実行することができます。

  • 機械学習の統合
    BigQuery MLを使用すると、SQLクエリを利用して機械学習モデルの作成と評価を行うことができます。これにより、データサイエンティストやエンジニアは、煩雑なプロセスを経ずにデータ駆動の予測や分析を行うことができます。

  • BIツール、スプレッドシートとの連携
    BigQueryは、LookerなどのBIツールやスプレッドシートアプリケーションとシームレスに連携できます。これにより、データの視覚化やレポーティング、分析作業が効率的に行えます。

BigQueryの料金

BigQueryはサーバーレスなデータウェアハウスであり、具体的に使った分だけ課金されるのが大きな特徴です。このモデルにより、初期投資や固定コストをかけずに、実際の使用量に応じた費用でデータ分析を行うことが可能となります。

BigQueryの課金は主にクエリ料金とストレージ料金で構成されますが、ストリーミング挿入やBigQuery Storage APIの利用時など特定の機能やサービス利用に対しても課金されます。

クエリ料金

クエリ料金には、オンデマンドと定額の2つのモデルが存在します。

  • オンデマンド
    このモデルでは、実際にクエリでスキャンされたデータ量に基づいて課金されます。1TBあたり5$での利用が可能であり、毎月の最初の1TBは無料です。
  • 定額料金
    事前にスロットと呼ばれる仮想CPUを購入して利用するモデルです。これにより、一定のコストで専用の処理容量を享受することが可能となります。

ストレージ料金

データの保存に関する費用として、以下の2つの種類があります。

  • アクティブストレージ
    過去90日間に変更が加えられたテーブルやテーブルパーティションに適用される料金です。費用は、1GBあたり$0.020となっています。
  • 長期保存
    連続して90日以上変更されていないテーブルやテーブルパーティションに関する料金です。通常のストレージ料金から50%割引される点が特徴です。アクティブストレージと長期保存の間に、性能や耐久性、可用性に差異はありません。

また、ストレージについては、毎月10GBまでの利用が無料となっています。

参考

https://cloud.google.com/bigquery/docs/introduction
https://cloud.google.com/blog/products/data-analytics/new-blog-series-bigquery-explained-overview
https://cloud.google.com/bigquery/pricing

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!