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

ストリーミング・データの定義

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

組織は、データ分析ビジネス・インテリジェンス(BI)などの迅速なデータ駆動型意思決定のために、ストリーミング・データを使用して、タイムリーなデータに依存するイベント駆動型のユースケースをサポートします。

ストリーミング・データは一般的に、最新のデータ・アーキテクチャーやリアルタイム分析システムで使用されます。たとえば、組織はストリーム処理フレームワークを使用して継続的なデータ・ストリームを分析し、運用効率、消費者動向、変化する市場の状況に関する洞察を取得します。

ストリーミング・データは継続的に生成されるため、継続的な取り込みと処理のために設計されたアーキテクチャーが必要です。これには、最適な性能と信頼性を維持しながら、リアルタイムでデータ取り込み、トランスフォーメーション、分析を処理するスケーラブルなストリーミング・アーキテクチャーとストリーム・プロセッサーが含まれることがよくあります。

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

ストリーミング・データは、以下のような特性を特徴とします。

  • 無制限:定義された終わりがなく、継続的に流れます
  • 異質性:多様なソースから得られ、フォーマットやスキーマが異なる場合があります
  • 高速:非常に高速で生成および処理されます
  • 大量:小さなイベントが継続的に流れ、非常に大規模なデータ・セットに蓄積される可能性があります
  • 一意:通常、各レコードは特定の時点で発生したイベントを表します
  • タイムセンシティブ:時間の経過とともに価値が低下しがちです
  • 不完全:エラー、ギャップ、不整合、順番が乱れたイベントが含まれる可能性があります

ストリーミング・データは継続的で高速、かつ多くの場合変動しやすいため、管理には専用のストリーミング・プラットフォームが必要です。Apache Kafkaは、スケーラブルでフォールト・トレラントなストリーム処理アーキテクチャーをサポートするために一般的に使用されるプラットフォームの1つです。

ストリーミング・データの一般的な例とは

スプレッドシートに保存され、予測可能なバッチ間隔で処理される従来のデータとは異なり、ストリーミング・データは継続的でリアルタイムな情報のフローです。一般的な例は次のとおりです。

  • 証券取引所および取引プラットフォームからの金融市場データ
  • 設備やスマートデバイスからのIoT(モノのインターネット)とセンサーの読み取り
  • X、Instagram、TikTokなどのプラットフォームからのソーシャル・メディア・アクティビティーのストリーム
  • eコマースやメディアサイトからのWebサイトのクリックストリーム・データ
  • クラウド・プラットフォームとマイクロサービスからのアプリケーション・ログとテレメトリー・データ
  • 配送車両およびライドシェア・サービスからのGPSおよび位置追跡データ

これらのストリーミング・データ・ソースによって、組織はイベントをリアルタイムで監視し、変化する状況にすばやくに対応し、データ駆動型の意思決定を迅速に行うことができます。

ストリーミング・データが重要な理由

今日の組織は、モノのインターネット(IoT)デバイス、電子商取引、SaaSアプリケーション、デジタルサービスから大量のリアルタイム・データを生成しています。ストリーミング・データを使用することで、組織は、効果的に対応するにはデータが古くなっているかもしれないスケジュールされたレポートやバッチ処理サイクルを待つのではなく、これらのイベントが発生した時点で洞察を活用することができます。

企業はストリーミング・データを使用して、問題を即座に検知し、パフォーマンスを継続的に監視し、瞬時にイベントに対応することができます。この高い可視性と応答性は、不正アクセス検知、 サイバーセキュリティーサプライチェーン管理、顧客体験、ITオペレーションなどの分野で迅速な意思決定を支援します。

近年、人工知能(AI)機械学習(ML)の台頭により、ストリーミング・データ機能の重要性がさらに高まっています。自動化されたイベント駆動型ワークフローの多くは、リアルタイムの洞察、予測、アクションを生成するためにストリーミング・データ処理に依存することがよくあります。

ストリーミング・データとAI/ML

ストリーミング・データは、最新のビッグデータ分析およびAI駆動型システムの中核となるインプットです。

人工知能の採用が増えるにつれ、リアルタイム・ストリーミング・データの重要性がさらに高まっています。AIやMLのワークフローには、多くの場合、最新で高品質なデータが不可欠です。調査会社のGartner社によると、61%の組織がAIテクノロジーの影響により、データと分析の運用モデルを進化させるか、再考する必要があると報告しています。1

エージェント型AIシステムは、ストリーミング・データを活用して、サイバーセキュリティーの脅威を特定して対応したり、交通状況に応じて輸送ルートを調整したりするなど、迅速で自律的な意思決定をサポートできます。

静的データ・セットの従来のバッチ処理は、低遅延の要件を満たしたり、急速に変化するデータに対応したりできないため、リアルタイムAIのユースケースには不十分な場合が多いです。遅延や古くなったデータは、適切でない予測や自動アクション、あるいは単に効果がない状態につながる可能性があります。

ストリーミング・データは、モデルやアプリケーションが最新のインプットに基づいて予測や決定を行うことを可能にする情報の継続的なフローを提供します。また、タイムリーな機能の更新とモデルの再トレーニング、基盤となるデータ・パターンの変化へのより良い応答性を通じて、機械学習パイプラインをサポートすることもできます。

ストリーミング・データをAIやMLのワークフローに統合することには多くのメリットがありますが、いくつかの課題があります。大量かつさまざまなデータ品質で、形式も多様であるため、効果的にサポートするには、多くの場合、専用のツールとインフラストラクチャーが必要です

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

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

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

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

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

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

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

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

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

AI Academy

生成AIの成功の鍵はデータ管理

生成AIの使用を成功させるために、高品質のデータが不可欠である理由をご覧ください。

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

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

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

データ取り込み

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

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

ストリーム処理

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

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

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

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

データ分析と可視化

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

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

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

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

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

データ・ストレージ

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

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

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

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

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

イベント・ストリーム

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

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

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

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

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

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

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

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

金融サービス

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

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

お客様事例:フィンテックのWealthAPIは、イベント駆動型ストリーミング・アーキテクチャーを中心に金融分析プラットフォームを構築し、一貫性のない銀行取引データと取引データの継続的なフローをリアルタイムで処理しました。

受信データは、Google Pub/Subを通じてバッファリングおよび配信されます。これは、データ・プロデューサーをダウンストリーム・システムから切り離し、複数のサービスが同じストリームを同時に利用できるようにするメッセージング・サービスです。その後、IBM watsonx.dataは高性能な構造化データ検索を処理し、金融に関する洞察を最大で80%速く提供し、数万人のユーザーにサービスを提供すると同時に、アーキテクチャーを変更することなく数百万人に拡張しています。

製造業

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

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

医療

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

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

小売とEコマース

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

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

運輸と物流

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

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

サイバーセキュリティー

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

AIと機械学習

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

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

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

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

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

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

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

3つのオープンソース・フレームワークがストリーミング業界を支配しています。

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

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

  • Apache Spark統合された分析機能で知られるSparkは、同じ実行エンジンとAPIを使用して、バッチ処理とストリーム処理の両方を処理できます。この機能は、組織がリアルタイムのデータ・ストリームと並行して過去のデータ・セットを分析する必要があるシナリオで役立ちます。

  • Spark構造化ストリーミング:Spark SQLエンジンを基に構築されたコアSpark APIの拡張で、スケーラブルでフォールト・トレラントなストリーム処理をサポートします。マイクロバッチおよび連続処理モデルを用いてストリーミング・データを段階的に処理します。

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

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

主要なクラウド・プロバイダーは、大容量のデータ・ストリーミング・アプリケーションの展開と運用を簡素化するマネージド・ストリーミング・サービスを提供しています。例としては、Amazon Web Services(AWS)のAmazon Kinesis、Microsoft Azure Stream Analytics、Google Cloud Dataflow、IBM Event Streamsなどがあります。これらのサービスは、すぐに使える機能を提供するため、組織は複雑なストリーミング・インフラストラクチャーを、ゼロから構築する必要はありません。

多くの組織は、性能、拡張性、データ・レジデンシーの要件を満たすために、クラウドネイティブのサービスとオンプレミスのシステムを組み合わせたハイブリッド・ストリーミング・アーキテクチャーも採用しています。

さらに、Confluentなどのプラットフォームは、多様なIT環境にわたるリアルタイムのデータ・パイプラインを構築、管理、拡張するためのエンタープライズ・グレードのストリーミング機能を提供します。Confluentは、ガバナンスセキュリティオブザーバビリティー、複数環境にわたるデータ・ストリーミングなどの主要な機能をApache Kafkaに拡張したことで広く知られています。

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

ストリーミング・データはリアルタイム分析と意思決定に大きなメリットをもたらしますが、ストリーミング・アプリケーションをサポートするアーキテクチャーを設計する際に、組織は多くの場合、技術的および運用上の課題に直面します。従来のバッチ処理システムからストリーミング環境への移行には、新しい開発アプローチ、運用上の専門知識、インフラストラクチャー戦略が必要になる場合があります。

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

  • ストリーミング・アーキテクチャーのスケーリング
  • レイテンシー、スループット、コストのトレードオフの管理
  • 新しいツールの学習
  • 耐久性とフォールト・トレランスの維持
  • リアルタイム性能の監視
  • データ・ガバナンスの実施

ストリーミング・アーキテクチャーのスケーリング

ストリーミング・システムは、多くの場合、分散ソースから継続的に生成される大量のデータを処理します。組織は、ワークロードが増大するにつれて、一貫した高スループットと低遅延を維持すると同時にインフラストラクチャーを効果的に拡張するのに苦労することがあります。

レイテンシー、スループット、コストのトレードオフの管理

ストリーミング・アーキテクチャーの設計では、競合する優先順位のバランスを取ることがよくあります。低遅延処理には、より多くのコンピューティング・リソースと複雑なインフラストラクチャーが必要になる可能性があり、その一方で、スループットやコスト効率を最適化すると処理遅延が増加する可能性があります。

新しいツールの使い方を学ぶ

バッチ指向のシステムからイベント駆動型アーキテクチャーへの移行では、多くの場合、新しいAPI、ストリーム処理フレームワーク、運用ツールが導入されます。データ・エンジニアリング・チームは、これらのリアルタイム・ワークロードを管理、監視、トラブルシューティングするために専門知識を必要とする場合があります。

耐久性とフォールト・トレランスの維持

ストリーミング・システムは、1 秒間に数百万件のイベントを処理する場合でも、レジリエンスを維持する必要があります。効果的なフォールト・トレランス・メカニズムがなければ、組織はシステムの誤動作や障害によるデータ損失、重複処理、サービス中断のリスクがあります。

リアルタイム性能の監視

ストリーミング・アプリケーションでは、レイテンシー、スループット、ラグ、リソース使用率などのメトリクスを継続的に監視する必要があります。最適な性能を維持すると、すでに負荷がかかっているインフラストラクチャーチームとオペレーションチームにさらにプレッシャーがかかる可能性があります。

データ・ガバナンスの実施

組織は、個人情報(PII)や、 一般データ保護規則 (GDPR)、California Consumer Privacy Act(CCPA)、その他のデータ・ガバナンス要件の管轄下にあるその他の機密情報を含むストリーミング・データの保管と処理の方法を考慮すべきです。

共同執筆者

Annie Badman

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

関連ソリューション
DataOpsプラットフォーム・ソリューション

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

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

直感的なグラフィカル・インターフェースでスマートなストリーミング・データ・パイプラインを作成、管理できるため、ハイブリッド環境やマルチクラウド環境でのシームレスなデータ統合を促進します。

StreamSetsの詳細はこちら
データ分析コンサルティングサービス

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

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

データ・サイロを排除し、複雑さを軽減し、データ品質を向上させることで、卓越した顧客体験と従業員体験を実現するデータ・ストラテジーを設計します。

  1. データ管理ソリューションの詳細はこちら
  2. watsonx.dataについてはこちら