Google Cloud(GCP)のストリーム分析がすごい!「 Pub / Sub 」や「 BigQuery 」など具体的なサービスを一挙紹介
- BigQuery
- Cloud
- ストリーム分析
「ストリーム分析」という言葉をご存知でしょうか?ストリーム分析は、データの流れを連続して処理・分析する技術であり、企業の保有データ量が増えている現代において、必要不可欠な存在となっています。
Google が提供するパブリッククラウドサービス「 Google Cloud(GCP) 」でもストリーム分析を行うことができ、 Google のサービスならではの効率的かつ高精度な分析が可能になります。
本記事では、ストリーム分析の基礎的な内容から、 Google Cloud(GCP) のストリーム分析の特徴、具体的なサービス、活用事例まで一挙にご紹介します。ストリーム分析にご興味をお持ちの方は、ぜひ最後までご覧ください。
目次
ストリーム分析とは?
ストリームとは、「小川、流れ、連続」などの意味を持つ単語であり、 IT 分野におけるストリーム分析とは、データの流れを連続して処理・分析することを指す言葉です。ストリーム分析を行うことで、際限なく発生する膨大なデータをリアルタイムに分析することが可能になります。
データは鮮度が命であり、時間の経過とともに情報の価値は下がってしまいます。その点、ストリーム分析は必要なデータをリアルタイムに取得できるため、企業の意思決定スピードを高めることができ、スムーズかつ最適な経営判断を実現します。
近年、「人工知能( AI )」「 IoT 」「 5G 」などの発展に伴い、企業が保有するデータ量も年々増加しています。このような背景もあり、現在は業種業態を問わずに様々なシーンでストリーム分析が活用されています。
ストリーム分析のユースケース
EC サイト
訪問しているユーザーの各種データを取得し、リアルタイムの商品価格、プロモーション効果、在庫数などをクリックストリームを分析することで、サイト設計の最適化に役立てることができます。
金融サービス
各種アクティビティをリアルタイムに分析することで、データストリーム内の異常検知を行うことができます。必要に応じてセキュリティアラートを通知するなど、安全なサービス運用を実現することができます。
投資サービス
日々変化する市場データをリアルタイムに追跡することで、株価が一定値に到達したときに自動で売却するなどのルール設定を行うことができ、効率的なサービス運用が可能になります。
メディア
複数メディアにおけるユーザーの行動履歴(クリックレコードなど)をストリーミング分析することで、各ユーザーに最適な関連記事をレコメンドするなど、ユーザーエクスペリエンスの向上を実現することができます。
公共事業
送電網全体のスループット(単位時間あたりのデータ処理量)をリアルタイムに監視・検知することで、設定した閾値を上回った場合のアラート通知やワークフロー開始を実現できます。
Google Cloud(GCP) とは?
Google Cloud(GCP) は Google が提供するパブリッククラウドサービスです。同じ種別のサービスとしては、 Microsoft 提供の「 Azure 」や Amazon 提供の「 AWS 」などが挙げられます。
Google Cloud(GCP) は、セキュアで高い安定性を持つ Google の IT プラットフォーム環境を自社で利用することができます。ビッグデータや Google Workspace との連携など、『クラウド利用を越えた先の IT 戦略』をシームレスに実現することが可能です。
また、「 BigQuery 」をはじめとした優れたデータ解析ツールが用意されているため、一部のエキスパートだけでなく、組織全体でデータを活用し、経営戦略の策定や業務改善に繋げていくことが可能です。
さらに Google Cloud(GCP) の多種多様なサービスを活用することで、高精度なストリーム分析を実現することができます。 Google Cloud(GCP) を活用したストリーム分析については、次章で詳しくご説明します。
Google Cloud(GCP) を活用したストリーム分析の特徴
高速処理によりリアルタイム分析を実現できる
ストリーム分析においては、データの処理速度が重要なポイントになります。リアルタイムに膨大なデータを分析をするためには、高いサービススペックが求められます。
Google Cloud(GCP) は月間60億時間分の動画を再生する YouTube や、10億人のユーザーが利用している Gmail と同じインフラをベースとしています。そのため、高速で安定したパフォーマンスを誇り、大量のデータに対してもスムーズなリアルタイム分析を実現します。
運用負荷をかけずに分析を進めることができる
Google Cloud(GCP) は自動スケーリングに対応しており、自社の状況に応じてリソースを自動的に増減してくれます。そのため、管理者が都度設定を変更したり、煩雑なリソース調整を行う必要はありません。
面倒な作業は Google Cloud(GCP) が自動で行ってくれるため、自社は本来注力すべき分析作業に集中することができ、結果的に業務効率化や生産性向上に直結します。
安全なセキュリティ環境で分析を行うことができる
Google Cloud(GCP) は第三者認証取得のハイレベルなセキュリティを備えており、「 SSAE16 / ISAE 3402 Type II:SOC 2/SOC 3」「 ISO 27001・FISMA Moderate 」「 PCI DSS v3.0」など、さまざまな年次監査を受けています。
そのため、安全なセキュリティ環境でストリーム分析を行うことができ、情報漏洩などの各種リスクを低減した形で、安心して作業を進めることが可能になります。
他の Google Cloud(GCP) サービスとネイティブに統合できる
Google Cloud(GCP) には様々なサービスが内包されており、それぞれの機能をシームレスに連携することが可能です。例えば、「 Pub / Sub 」「 Dataflow 」「 BigQuery 」などが挙げられます。
これらの複数サービスをネイティブに統合することで、高精度かつスムーズなストリーム分析を実現します。各サービスについては、次章で詳しくご説明します。
ストリーム分析の流れ
データの取り込み
ストリーム分析を行うためには、データがなければ始まりません。そのため、まずは様々なデータを取り込み、ストリーム分析を実行するための事前準備を行う必要があります。
Google Cloud(GCP) には「 Pub / Sub 」というサーバレスのメッセージングサービスが搭載されており、リアルタイムデータを確実に取り込むことができます。また、簡易版の「 Pub / Sub Lite 」というサービスも用意されています。
「 Pub / Sub 」および「 Pub / Sub Lite 」は、主にデータエンジニア向けのサービスとなっており、様々な場所に点在するデータを体系的に集約することが可能です。サービス詳細については、次章で詳しくご説明します。
データの変換
データの取り込みが完了したら、次は取り込んだデータを分析に使えるように変換します。Google Cloud(GCP) には、パイプライン処理を実現するためのオープンソースフレームワークである「 Apache Beam 」をベースとした「 Dataflow 」というサービスが搭載されています。
この Dataflow を活用することで、正確な計算処理を素早く簡単に実行することができ、ストリーミング分析に必要なデータを手間なく揃えることが可能になります。
また、「 変更データキャプチャ( CDC : Change Data Capture ) 」という機能を使えば、データベースの変更データを瞬時に読み取り、「 BigQuery 」というビッグデータ解析サービスへリアルタイムに連携することができます。
他にも、「 Dataflow 」の利便性を高められる「 Dataflow SQL 」や、インタラクティブな Dataflow のパイプラインを開発できる「 Jupyter Notebook 」、組織内でテンプレートを共有できる「フレックステンプレート」など、様々な機能が用意されています。
これらは主にデータアナリストやデータエンジニア向けの機能となっており、状況に応じてうまく活用することで、データの変換作業を大きく効率化することができます。各機能の詳細については、次章で詳しくご説明します。
データの格納 / 分析
データの変換が完了したら、そのデータを格納し分析作業を進めていきます。データ量が多いほど分析作業に時間を要するため、処理スピードが早い高性能な分析サービスを使うことをオススメします。
データの格納・分析に使える代表的な Google Cloud(GCP) サービスとしては、エンタープライズデータウェアハウスである「 BigQuery 」が挙げられます。 BigQuery については、次章で詳しくご説明します。
他にも、機械学習を実現する「 AI Platform 」や、ペタバイト級の巨大なデータを扱える NoSQL データベースである「 Cloud Bigtable 」など、ユースケースに合わせて使える様々なサービスが提供されています。
これらのサービスは、主にデータアナリストやデータサイエンティスト向けのサービスとなっており、データ分析から得られた情報を元に自社の課題を発見したり、経営戦略の方向性を決定するなど、とても重要な役割を持っています。
AI Platform に関しては、以下の記事が参考になります。
機械学習に便利な Google Cloud(GCP) の「 AI Platform 」とは?概要、機能、料金体系、できることまで徹底解説!
Cloud Bigtable に関しては、以下の記事が参考になります。
Google Cloud(GCP) の「 Cloud Bigtable 」とは?コスパ最強のストレージサービスを徹底解説!
ストリーム分析で利用するサービスや機能
Pub / Sub
Pub / Sub はリアルタイムデータやイベントデータの取り込みを行うためのメッセージングサービスです。 Pub / Sub はサーバーレスのサービスであるため、ユーザーはサーバー構成を気にすることなく、すぐに利用することができます。
Pub / Sub の仕組みは「 Gmail 」「 Google 検索」「 Google 広告」などの各種 Google サービスで採用されており、日々大量のデータを処理していることから、とても信頼性の高いツールであることが伺えます。
Pub / Sub Lite
Pub / Sub Lite は「 Pub / Sub 」の簡易版となっており、 Pub / Sub との違いは単一ゾーン(ネットワーク上の単位)でのサービスとなっている点です。 Pub / Sub と比較すると信頼性は劣りますが、コストを抑えながらメッセージングサービスを利用できる点は大きなメリットです。
Pub /Sub Lite でも Dataflow や Google Cloud(GCP) の他サービスとも連携しているため、複数サービスを組み合わせることで効率的なストリーム分析を実現することができます。ただし、Pub / Sub Lite は現在ベータ版となっており、東京リージョンでは利用できない点は注意が必要です。
変更データキャプチャ( CDC : Change Data Capture )
変更データキャプチャ( CDC : Change Data Capture )は「 MySQL 」「 Postgres 」「 Oracle Database 」などのデータベースの変更データを読み取って BigQuery にリアルタイムで連携することができる、データ変換のフェーズで使われる機能です。
この CDC ソリューションを大きく分類すると、「 MySQL ・ Postgres 用のオープンソースのセルフマネージドテンプレート」と「 Oracle Database 用のフルマネージドテンプレート」の2つに分けられます。
MySQL ・ Postgres 用のオープンソースのセルフマネージドテンプレートは Debezium ベースのコネクタと Dataflow テンプレートを使用して実現しています。テーブルレコードを Pub / Sub で変更し、 Dataflow 経由で BigQuery に連携する仕組みとなっており、スキーマの変更は Data Catalog 経由で同期します。
Oracle Database 用のフルマネージドテンプレートは Datastream でデータベース変更をキャプチャし、 Dataflow 経由で BigQuery に連携します。
Dataflow SQL
Dataflow SQL は、データアナリストやデータエンジニアが使い慣れた SQL を利用して、ストリーミング分析用のパイプラインを構築できるサービスです。
本来、Dataflow は Python や Java を使ってコーディングする必要がありますが、Dataflow SQL を活用することで、容易に Pub / Sub のイベントデータと BigQuery 、 GCS 上のデータを掛け合わせて変換することができます。
さらに、変換結果は BigQuery のテーブルに出力することが可能なため、そのまま BI ツールを利用してリアルタイムに分析ができます。
Dataflow SQL を活用すれば、データアナリスト自身がストリーミングパイプラインを開発・分析できるようになるため、ストリーム分析における生産性向上・業務効率化に直結します。
Jupyter Notebook
Jupyter Notebook は、データサイエンティストにとても人気のあるサービスです。インタラクティブな Dataflow のパイプライン開発とプロトタイプ作成を実現することができ、データ変換のフェーズにおいて大きな効果を発揮します。
フレックステンプレート
基本的に Dataflow のパイプラインはコーディングができる人が作成しますが、フレックステンプレートを活用することで、組織内でテンプレートの共同利用が可能になります。
フレックステンプレートには、25種類以上の共通テンプレートが標準で用意されているため、コーディングができない人でも簡単にパイプライン構築を行うことができます。
例えば、 Pub / Sub から BigQuery にストリーミングデータを格納するパイプラインをテンプレート化して再利用可能な状態にすることで、都度パイプラインを一から構築する必要がなくなるため、生産性の向上に大きく貢献します。
Flexible Resource Scheduling( FlexRS )
Flexible Resource Scheduling( FlexRS )は Dataflow が持つ機能の一つであり、主にバッチ処理のコスト削減に寄与します。
重要度の低いバッチ処理のコストを抑えて、重要度の高いバッチにリソースを集中することで、ストリーム分析における生産性向上を実現することができます。
Flexible Resource Scheduling( FlexRS )の利用方法はとても簡単であり、コードを変更する必要はなく、オプションを追加することで利用可能になります。なお、不要な場合はオプションを外すことで適用が除外されます。
注意点として Flexible Resource Scheduling( FlexRS )にはデメリットも存在し、ジョブが実行開始されるまで最大6時間の遅延が発生する可能性があります。そのため、日次や週次かつリスケジュールが可能なバッチ処理に向いているサービスと言えます。
パイプライン オブザーバビリティダッシュボード
パイプライン オブザーバビリティダッシュボードを使うことで、重要なパイプラインの指標を時系列で1つのダッシュボード上で可視化することができます。
例えば、スループット(単位時間あたりのデータ処理量)、データの鮮度、システムのレイテンシ(遅延)などが挙げられます。これらをダッシュボード上で一元的に可視化することで、パイプラインを最適化することが可能です。
BigQuery
BigQuery とは、 Google Cloud(GCP) で提供されているビッグデータ解析サービスのことです。通常では長い時間かかるクエリを、数 TB (テラバイト)、数 PB (ペタバイト)のデータに対し数秒もしくは数十秒で終わらせることができます。
BigQuery は 100% クラウドで提供されているため、サーバーレスでスケーラビリティがあり、コストパフォーマンスに優れています。また、他の多彩な Google Cloud(GCP) サービスともシームレスに連携できるため、高速かつ効率的なストリーム分析を実現することができます。
BigQuery に関しては、以下の記事が参考になります。
超高速でデータ分析できる!専門知識なしで扱えるGoogle BigQueryがとにかくスゴイ!
Google Cloud(GCP) によるストリーム分析の活用事例
ネットワーク異常のリアルタイム検知( TELUS 社)
カナダの大手電気通信事業者である TELUS 社は、膨大な量の通信データを日々処理しており、ネットワークをマルウェアなどの攻撃から保護する必要がありました。そこで、 Google Cloud(GCP) の Dataflow で毎秒25万件のイベントを処理し、ネットワーク上のすべての異常をほぼリアルタイムで検出することに成功しています。
デジタルトランスフォーメーションのプラットフォーム構築 ( HOME DEPOT 社)
HOME DEPOT 社は、 BigQuery 、 Pub / Sub 、 Dataflow などを活用し、デジタルトランスフォーメーションのプラットフォームを構築しました。その結果、収益の拡大や顧客離れの減少を実現することができました。
カスタマーエクスペリエンスの向上( AirAsia 社)
航空会社の AirAsia 社は Google Cloud(GCP) によるストリーム分析を活用し、自社が保有する様々なデータを細かく解析しました。分析結果を元に価格設定を見直し、収益増加やカスタマーエクスペリエンスの向上を実現しています。
まとめ
本記事では、ストリーム分析の基礎的な内容から、 Google Cloud(GCP) のストリーム分析の特徴、具体的なサービス、活用事例まで一挙にご紹介しました。
Google Cloud(GCP) はとても優れたサービスであり、ストリーム分析に役立つ機能が多く搭載されています。高速処理や操作性はもちろんのこと、安全なセキュリティ環境で様々なサービスを組み合わせながら、効率的にストリーム分析を進めていくことができます。
そして、 Google Cloud(GCP) を契約するのであれば、トップゲートがオススメです。トップゲート経由で契約することで
- Google Cloud(GCP) の利用料金が3% OFF
- クレジットカード不要で請求書払いが可能
- 導入後サポートが充実
など、様々なメリットを享受することができます。
本記事を参考にして、ぜひ Google Cloud(GCP) の導入を検討してみてはいかがでしょうか。
弊社トップゲートでは、専門的な知見を活かし、
- Google Cloud (GCP)支払い代行
- システム構築からアプリケーション開発
- Google Cloud (GCP)運用サポート
- Google Cloud (GCP)に関する技術サポート、コンサルティング
など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
また、弊社トップゲートでは、Google 技術を利用したアプリケーション開発や、DWH、BigQuery活用、機械学習に関するコンサルティングサービスを行っております。ぜひ詳細はリンク先にてご確認ください!
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!