ストリーミング・データとは

複数の川がある風景の空撮写真

共同執筆者

Annie Badman

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

ストリーミング・データとは

ストリーミング・データとは、さまざまなソースからのリアルタイム・データの継続的な流れです。スケジュールされた間隔でデータセットを処理するバッチ処理とは異なり、ストリーミング・データは到着するとすぐに処理され、リアルタイムで即座に洞察が得られます。

今日の組織は、モノのインターネット(IoT)デバイスから電子商取引トランザクションまで、あらゆるものに関して大量のデータを生成しています。ストリーミング・データは、「データ・ストリーミング」または「リアルタイム・データ・ストリーミング」とも呼ばれ、組織がこれらの継続的なデータ・フローを受信するとすぐに処理するのに役立ちます。

ストリーミング・データの例は次のとおりです。

  • 株価と取引活動を追跡する金融市場データ
  • 機器のパフォーマンスを監視するIoTセンサーの読み取り
  • SNSのアクティビティー・ストリームでユーザーのエンゲージメントを把握
  • 訪問者の行動パターンを示すWebサイトのクリックストリーム・データ

組織では、多くの場合、ストリーミング・データを使用して、データ分析ビジネス・インテリジェンス(BI)などの、データ駆動型の意思決定をリアルタイム・データで迅速に行うビジネス・イニシアチブをサポートします。

ストリーミング・データは、多くの場合、ビッグ・データの収集と処理の取り組みの一部です。例えば、組織はビッグ・データ分析を使用して継続的なデータ・ストリームを分析し、運用効率、消費者の傾向、変化する市場動向に関する洞察を得ることができます。

ストリーミング・データは継続的に流れるため、従来のバッチ処理とは異なる処理方法が必要です。これには、最適なパフォーマンスを維持しながらデータの取り込み、処理、分析を管理するスケーラブルなストリーミング・アーキテクチャーとストリーム・プロセッサーが含まれることがよくあります。

近年、人工知能(AI)機械学習の台頭により、ストリーミング・データ機能への注目がさらに高まっています。これらのテクノロジーは、多くの場合、ストリーミング・データ処理を利用してリアルタイムの洞察と予測を生成します。

調査会社のGartner社によると、61%の組織がAIテクノロジーの影響により、データと分析の運用モデルを進化させるか、再考する必要があると報告しています。1

ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

ストリーミング・データとバッチ処理

組織は、主に2つの方法でデータを処理できます。バッチ処理またはストリーミング・データです。

どちらの方法も大量のデータを処理しますが、それぞれ異なるユースケースに対応し、異なるアーキテクチャーを必要とします。

主な違いは次のとおりです。

  • 処理モデル:バッチ処理では、一定の間隔でデータセットをバッチで集計して分析しますが、ストリーミング・データでは、リアルタイムのデータ処理ツールを使用して、データが到着するとすぐに処理します。つまり、ストリーミング・システムでは洞察が得られ、すぐにアクションを実行できますが、バッチ・システムは定期的なスケジュールで動作します。

  • インフラストラクチャーのニーズ:バッチ・システムでは、データ・ウェアハウスなどの従来のデータ・ストレージおよび分析ツールが使用されることが多いのに対し、ストリーミングでは、リアルタイムのデータ・フローを処理するために構築された専用のフレームワークとデータ・ストリーミング・プラットフォームが必要です。

  • パフォーマンス要件:バッチ・システムはスケジュールされた実行中にリソースの使用を最適化できますが、ストリーム処理には低遅延のフォールト・トレラント・システムが必要です。つまり、ストリーミング・システムでは、データ量が多い場合や問題が発生した場合でも、遅延なくリアルタイムでデータを処理する必要があります。

組織は通常、データ量、レイテンシのニーズ、ビジネス目標に基づいてバッチ処理とストリーム処理のどちらかを選択します。多くの組織は、統合データ・ファブリック内で両方のアプローチを使用して、さまざまな種類のデータ・タスクを処理します。

例えば、eコマース組織では、バッチ処理を使用して毎日の売上レポートを生成し、ストリーミング・データとリアルタイム分析システムを使用して主要なWebサイトのメトリクスを監視する場合があります。

オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

ストリーミング・データの仕組み

大まかに言えば、ストリーミング・データは、さまざまなソースからのリアルタイム・データ・フローを継続的に取得、処理、分析することで機能します。このプロセスは、次の4つの主要な段階で構成されます。

  • データ取り込み
  • ストリーム処理
  • データ分析
  • データ・ストレージ

データ取り込み

第1段階では、さまざまなソースからの受信データストリームを取得します。Kafkaなどの最新のデータ取り込みツールは、受信したストリームをバッファーして標準化し、拡張性とデータの一貫性の両方を確保するのに役立ちます

組織では通常、データ統合ツールを他のコンポーネントと統合して、統一されたワークフローを作成します。データ統合ツールは、異種のデータ・タイプを標準化された処理形式にさらに整合させ、複数のソースからのデータを効果的に組み合わせて分析できるようにします。

ストリーム処理

処理段階では、Apache Flinkなどのストリーム処理フレームワークが、データが移動している間にデータを分析および変換します。これらのフレームワークにより、組織は次のことが可能になります。

  • 複雑なイベントをリアルタイムで処理

  • 平均の計算、イベントのカウント、トランザクション値の合計など、大規模なデータ集計を実行します

  • データがデータ・パイプラインを通過するときに、データのフィルタリング、エンリッチメント、フォーマットなどの変換を適用します

データ分析と可視化

この段階では、組織はデータ視覚化やその他の分析ツールを通じて、ストリーミング・データ・フローから実用的なビジネス・インサイトを引き出しています。

主な用途は次のとおりです:

  • 重要な指標とKPIを提供するリアルタイムのダッシュボード

  • ワークフローを自動化し、プロセスを最適化する運用アプリケーション

  • パターンを分析して結果を予測する機械学習モデル

データ・ストレージ

ストリーミング・データを保管する場合、組織は、リアルタイムで使用するためにデータに素早くアクセスする必要性、および長期的なデータ・ストレージ、コスト効率、およびデータ・コンプライアンスの懸念とのバランスを取る必要があります。

多くの組織では、ストリーミング・データの保管にデータ・レイクデータレイクハウスを使用しています。これらのソリューションは、大量のデータに対して低コストで柔軟なストレージ環境を提供するためです。ストリーミング・データが取得された後、データウェアハウスに送信され、そこでクリーンアップされて使用できるように準備される場合があります。

組織では、多くの場合、複数のデータ・ストレージ・ソリューションを統合されたデータ・ファブリックにまとめて実装します。例えば、金融機関では、データ・レイクを使用して未加工のトランザクション・ストリームを保管し、ウェアハウスを使用して分析やレポートを作成する場合があります。

ストリーミング・データの種類

組織は、リアルタイムの分析と意思決定をサポートするために、さまざまな種類のストリーミング・データを使用できます。最も一般的なストリーミング・データ・フローには、次のようなものがあります。

イベント・ストリーム

イベント・ストリームは、アプリケーション・プログラミング・インターフェース(API)呼び出し、Webサイトのクリック、アプリのログ・エントリーなど、発生したシステム・アクションや変更を取得します。イベント・ストリームは、システム全体のリアルタイム・アクティビティーを追跡するためによく使用され、ユーザー操作やシステム・イベントに即座に対応できるようにします。

リアルタイム・トランザクション・データ

リアルタイム・トランザクション・データは、デジタル決済や電子商取引の購入など、ビジネス・トランザクションの継続的なフローを取得します。リアルタイム・トランザクション・データは、不正検知や即時の意思決定などのアプリケーションをサポートします。

IoT(モノのインターネット)とセンサー・データ

IoTおよびセンサー・データには、環境条件、機器のパフォーマンス、物理プロセスに関する情報が含まれます。これらのデータ・ストリームは、多くの場合、リアルタイムの機器監視とプロセスの自動化をサポートします。

ストリーミング・データのユースケース

ストリーミング・データにより、組織は大量のリアルタイム情報を処理して、即座に洞察とアクションを得ることができます。

一般的な用途には、以下のようなものがあります。

金融サービス

金融機関は、市場データ、取引、顧客とのやり取りを処理するためにストリーミング分析を頻繁に使用します。

例えば、クレジットカード会社は不正行為の検知にストリーミング・データを活用しています。ストリーミング・データ・プラットフォームを使用すると、これらの企業は1秒あたり数千件のトランザクションを分析して異常なアクティビティーを検知し、疑わしいトランザクションにフラグを付けたりブロックしたりできます。

製造業

現代の製造施設では、運用効率を向上させるために、IoTデバイス・センサーとリアルタイム・データ処理がよく使用されています。

例えば、自動車工場では、何千もの組立ライン・センサーを監視し、温度、振動、パフォーマンスなどの指標を追跡します。このデータは、オペレーターが非効率性を早期に検知し、ダウンタイムを回避するための予防保守をスケジュールするのに役立ちます。

医療

医療提供者は、医療機器や患者モニタリング・システムからのデータを処理するためにストリーミング・アプリケーションに依存しています。

例えば、集中治療室では、ベッドサイドのモニターがデータ・パイプラインを介してバイタル・サインを中央プロセッサにストリーミングします。その後、これらのプロセッサーは問題となるパターンを識別し、介入が必要な場合に医療スタッフに自動的に警告します。

小売とEコマース

小売業者や電子商取引企業は、POSシステム、在庫センサー、オンライン・プラットフォームからのストリーミング・データを活用して業務を最適化しています。

例えば、大規模なeコマース・プラットフォームでは、Apache Kafkaを使用して何百万もの買い物客からのクリックストリームを処理し、需要を測定して顧客エクスペリエンスをパーソナライズできます。

運輸と物流

運輸会社は、車両を最適化するために、ストリーミング分析を使用してGPSデータとIoTセンサーの読み取り値を処理することがよくあります。

例えば、物流業者は何千台もの車両からのリアルタイム・データを気象や交通のデータセットと統合できます。ストリーム・プロセッサーは、最小限の遅延で自動ルート最適化を可能にし、ドライバーが遅延を回避できるようにします。

サイバーセキュリティー

ストリーミング・データは、自動異常検知などのサイバーセキュリティー対策のサポートに役立ちます。AIおよび機械学習システムは、システム全体の監視ツールからのデータ・フローを分析して、異常なパターンや疑わしい動作を特定し、潜在的な問題に即座に対応できるようにします。

AIと機械学習

ストリーミング・データは、AIと機械学習でも重要な役割を果たします。例えば、ストリーム処理フレームワークは継続的なAIモデル・トレーニングをサポートできるため、機械学習アルゴリズムは変化するパターンにほぼリアルタイムで適応できます。

機械学習システムは、オンライン学習と呼ばれるプロセスを通じてストリーミング・データ・ソースから段階的に学習することもできます。このプロセスでは、特殊なアルゴリズムを使用して、完全なモデルの再トレーニングを必要とせずに精度を向上させることができます。

ストリーミング・データ・ツールとテクノロジー

オープンソースと商用ストリーミング・データ・ソリューションの両方を利用することで、組織はフォールト・トレラントなスケーラブルなデータ・パイプラインを構築できます。つまり、データ損失やダウンタイムなしで障害から回復できます。

ほとんどのストリーミング・データ実装は、ストリーム処理フレームワークとストリーミング・データ・プラットフォームという2つの主要テクノロジーによって支えられています。

ストリーム処理フレームワーク

ストリーム処理フレームワークは、継続的なデータ・フローを処理するための基盤を提供します。これらのフレームワークは、組織が大量のデータを一貫して迅速かつ確実に処理する高性能なデータ・パイプラインを構築するのに役立ちます。

ストリーミング業界では、3つのオープンソース・フレームワークが主流です。

  • Apache Kafka
  • Apache Flink
  • Apache Spark

Apache Kafka

主要なストリーミング・プラットフォームであるKafkaは、ミリ秒単位のレイテンシで膨大な量のデータを処理できます。組織では、アクティビティーの追跡、運用の監視、ログの集約のためのパイプラインを構築するためにKafkaを使用することがよくあります。

Apache Flink

Apache Flinkは、複雑なイベント処理とステートフルな計算に特化しています。時間の経過に伴うイベントのコンテキストの理解が重要な、リアルタイム分析、不正検知、予測メンテナンスに役立ちます。

Apache Spark

統合分析機能で知られるSparkは、バッチ・データとストリーミング・データの両方を同時に処理できます。この機能は、組織がライブ・データと並行して履歴データを分析する必要があるシナリオで役立ちます。

ストリーミング・データ・プラットフォームとサービス

ストリーミング・データ・プラットフォームは、取り込みと処理から保管と統合まで、ストリーミング・データのライフサイクル全体をサポートするさまざまなツールと機能を提供します。

多くの大手クラウド・プロバイダーは、組織が大容量データ・ストリーミング・アプリケーションを簡単にセットアップできるようにする、マネージド・ストリーミング・データ・ソリューションを提供しています。Amazon Web Services (AWS)のAmazon Kinesis、Microsoft Azure Stream Analytics、Google CloudのDataflow、IBM Event Streamsなどのサービスでは、すぐに使用できるツールが提供されています。企業は複雑なインフラストラクチャーをゼロから構築する必要はありません。

これらのサービスは、オンプレミスのストリーミング・ツールと統合して、パフォーマンスのニーズとデータ・プライバシーの要件のバランスをとるのに役立つハイブリッド・アーキテクチャーを作成することもできます。

組織は、IBM StreamSets や Confluentなどのツールを使用して、独自のITエコシステムに合わせてストリーミング・データ・パイプラインを構築することもできます。

ストリーミング・データの課題

ストリーミング・データには多くの利点がありますが、ストリーミング・アプリケーションをサポートするために必要なデータ・アーキテクチャーを構築する際には、組織が課題に直面する可能性があります。

一般的な課題には、次のようなものがあります。

  • データ・アーキテクチャーのスケーリング:ストリーミング・データ処理では、多くの場合、多数のソースからの膨大な量のデータの処理が必要になります。ストリーミング・アーキテクチャーが大量のデータを処理できるように効率的にスケーリングできない場合、組織は困難に陥る可能性があります。

  • フォールト・トレランスの維持:ストリーミング・システムは、1秒あたり数百万のイベントを処理する可能性があるので、フォールト・トレランスを備えている必要があります。そうでないと、組織はシステムの誤動作や誤動作によってデータを失うリスクがあります。

  • パフォーマンスの監視:リアルタイム・アプリケーションでは、最適なパフォーマンスを維持するために、レイテンシー、スループット、リソース使用率などのメトリクスを継続的に監視する必要がありますが、この要求により、すでに負荷がかかっている処理システムがさらに悪化する可能性があります。

  • データ・ガバナンスの実装:組織は、個人を特定できる情報(PII)や、一般データ保護規則(GDPR)California Consumer Privacy Act(CCPA)、またはその他のデータ・ガバナンス要件の管轄下にあるその他の機密情報を含むストリーミング・データをどのように保管および処理するかを検討する必要があります。
関連ソリューション
DataOpsプラットフォーム・ソリューション

IBM DataOpsプラットフォーム・ソリューションでデータを整理し、信頼性を高め、ビジネスがAIを導入できるようにしましょう。

DataOpsソリューションの詳細はこちら
IBM Databand

データ・パイプライン用の可観測性ソフトウェア、IBM Databandをご紹介します。メタデータを自動的に収集して履歴ベースラインを構築し、異常を検出し、データ品質の問題を修復するためのワークフローを作成できます。

Databandはこちら
データ分析コンサルティングサービス

IBMコンサルティングと連携することで、企業データの価値を引き出し、ビジネス上の優位性をもたらす洞察を活用した組織を構築します。

分析サービスを発見する
次のステップ

IBM DataOpsプラットフォーム・ソリューションでデータを整理し、信頼性を高め、ビジネスがAIを導入できるようにしましょう。

DataOpsソリューションの詳細はこちら 分析サービスの詳細はこちら