ストリーミング・データとは、さまざまなソースからのリアルタイムまたはほぼリアルタイムのデータの継続的なフローです。スケジュールされた間隔でデータを処理するバッチ処理とは異なり、ストリーミング・データは到着するとすぐに処理され、リアルタイムで即座に洞察が得られます。
組織は、データ分析やビジネス・インテリジェンス(BI)などの迅速なデータ駆動型意思決定のために、ストリーミング・データを使用して、タイムリーなデータに依存するイベント駆動型のユースケースをサポートします。
ストリーミング・データは一般的に、最新のデータ・アーキテクチャーやリアルタイム分析システムで使用されます。たとえば、組織はストリーム処理フレームワークを使用して継続的なデータ・ストリームを分析し、運用効率、消費者動向、変化する市場の状況に関する洞察を取得します。
ストリーミング・データは継続的に生成されるため、継続的な取り込みと処理のために設計されたアーキテクチャーが必要です。これには、最適な性能と信頼性を維持しながら、リアルタイムでデータ取り込み、トランスフォーメーション、分析を処理するスケーラブルなストリーミング・アーキテクチャーとストリーム・プロセッサーが含まれることがよくあります。
ストリーミング・データは、以下のような特性を特徴とします。
ストリーミング・データは継続的で高速、かつ多くの場合変動しやすいため、管理には専用のストリーミング・プラットフォームが必要です。Apache Kafkaは、スケーラブルでフォールト・トレラントなストリーム処理アーキテクチャーをサポートするために一般的に使用されるプラットフォームの1つです。
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
スプレッドシートに保存され、予測可能なバッチ間隔で処理される従来のデータとは異なり、ストリーミング・データは継続的でリアルタイムな情報のフローです。一般的な例は次のとおりです。
これらのストリーミング・データ・ソースによって、組織はイベントをリアルタイムで監視し、変化する状況にすばやくに対応し、データ駆動型の意思決定を迅速に行うことができます。
今日の組織は、モノのインターネット(IoT)デバイス、電子商取引、SaaSアプリケーション、デジタルサービスから大量のリアルタイム・データを生成しています。ストリーミング・データを使用することで、組織は、効果的に対応するにはデータが古くなっているかもしれないスケジュールされたレポートやバッチ処理サイクルを待つのではなく、これらのイベントが発生した時点で洞察を活用することができます。
企業はストリーミング・データを使用して、問題を即座に検知し、パフォーマンスを継続的に監視し、瞬時にイベントに対応することができます。この高い可視性と応答性は、不正アクセス検知、 サイバーセキュリティー、 サプライチェーン管理、顧客体験、ITオペレーションなどの分野で迅速な意思決定を支援します。
近年、人工知能(AI)と機械学習(ML)の台頭により、ストリーミング・データ機能の重要性がさらに高まっています。自動化されたイベント駆動型ワークフローの多くは、リアルタイムの洞察、予測、アクションを生成するためにストリーミング・データ処理に依存することがよくあります。
ストリーミング・データは、最新のビッグデータ分析およびAI駆動型システムの中核となるインプットです。
人工知能の採用が増えるにつれ、リアルタイム・ストリーミング・データの重要性がさらに高まっています。AIやMLのワークフローには、多くの場合、最新で高品質なデータが不可欠です。調査会社のGartner社によると、61%の組織がAIテクノロジーの影響により、データと分析の運用モデルを進化させるか、再考する必要があると報告しています。1
エージェント型AIシステムは、ストリーミング・データを活用して、サイバーセキュリティーの脅威を特定して対応したり、交通状況に応じて輸送ルートを調整したりするなど、迅速で自律的な意思決定をサポートできます。
静的データ・セットの従来のバッチ処理は、低遅延の要件を満たしたり、急速に変化するデータに対応したりできないため、リアルタイムAIのユースケースには不十分な場合が多いです。遅延や古くなったデータは、適切でない予測や自動アクション、あるいは単に効果がない状態につながる可能性があります。
ストリーミング・データは、モデルやアプリケーションが最新のインプットに基づいて予測や決定を行うことを可能にする情報の継続的なフローを提供します。また、タイムリーな機能の更新とモデルの再トレーニング、基盤となるデータ・パターンの変化へのより良い応答性を通じて、機械学習パイプラインをサポートすることもできます。
ストリーミング・データをAIやMLのワークフローに統合することには多くのメリットがありますが、いくつかの課題があります。大量かつさまざまなデータ品質で、形式も多様であるため、効果的にサポートするには、多くの場合、専用のツールとインフラストラクチャーが必要です
組織は、主に2つの方法でデータを処理できます。バッチ処理またはデータのストリーミングです。
どちらの方法も大量のデータを処理しますが、それぞれ異なるユースケースに対応し、異なるアーキテクチャーを必要とします。
主な違いは次のとおりです。
組織は通常、データ量、レイテンシーのニーズ、ビジネス目標に基づいてバッチ処理とストリーム処理のどちらかを選択します。多くの組織は、統合データ・ファブリック内で両方のアプローチを使用して、さまざまな種類のデータ・タスクを処理します。
例えば、eコマース組織では、バッチ処理を使用して毎日の売上レポートを生成し、ストリーミング・データとリアルタイム分析システムを使用して主要なWebサイトのメトリクスを監視する場合があります。
大まかに言えば、ストリーミング・データは、さまざまなソースからのリアルタイム・データ・フローを継続的に取得、処理、分析することで機能します。このプロセスは、次の4つの主要な段階で構成されます。
第1段階では、さまざまなソースからの受信データ・ストリームを取得します。Apache Kafkaなどの最新のデータ取り込みツールは、受信したストリームをバッファーして標準化し、拡張性とデータの一貫性の両方を確保するのに役立ちます
組織は通常、データ統合ツールを他のコンポーネントと統合して、統一されたワークフローを作成します。データ統合ツールは、異種のデータ・タイプを標準化された処理形式にさらに整合させ、複数のソースからのデータを効果的に組み合わせて分析できるようにします。
処理段階では、Apache Flinkなどのストリーム処理フレームワークが、データが移動している間にデータを分析および変換します。これらのフレームワークにより、組織は次のことが可能になります。
この段階では、組織はデータの視覚化やその他の分析ツールを通じて、ストリーミング・データ・フローから実用的なビジネス・インサイトを引き出しています。
主な用途は次のとおりです。
ストリーミング・データを保管する際、組織はリアルタイムで使用するためのデータへの迅速なアクセスと、長期的なデータ・ストレージ、コスト効率、およびデータ・コンプライアンスの懸念とのバランスを取る必要があります。
多くの組織では、ストリーミング・データの保管にデータレイクとデータレイクハウスを使用しています。これらのソリューションは、大量のデータに対して低コストで柔軟なストレージ環境を提供するためです。データをストリーミングした後、データウェアハウスに送信され、そこでクリーンアップされて使用できるように準備される場合があります。
組織では、多くの場合、複数のデータ・ストレージ・ソリューションを統合されたデータ・ファブリックにまとめて実装します。例えば、金融機関では、データレイクを使用して未加工のトランザクション・ストリームを保管し、ウェアハウスを使用して分析やレポートを作成する場合があります。
組織は、リアルタイムの分析と意思決定をサポートするために、さまざまな種類のストリーミング・データを使用できます。最も一般的なストリーミング・データ・フローには、次のようなものがあります。
イベント・ストリームは、アプリケーション・プログラミング・インターフェース(API)呼び出し、Webサイトのクリック、アプリのログ・エントリーなど、発生したシステム・アクションや変更を取得します。イベント・ストリームは、システム全体のリアルタイム・アクティビティーを追跡するためによく使用され、ユーザー操作やシステム・イベントに即座に対応できるようにします。
リアルタイム・トランザクション・データは、デジタル決済や電子商取引の購入など、ビジネス・トランザクションの継続的なフローを取得します。リアルタイム・トランザクション・データは、不正検知や即時の意思決定などのアプリケーションをサポートします。
IoTおよびセンサー・データには、環境条件、機器のパフォーマンス、物理プロセスに関する情報が含まれます。これらのデータ・ストリームは、多くの場合、リアルタイムの機器監視とプロセスの自動化をサポートします。
ストリーミング・データにより、組織は大量のリアルタイム情報を処理して、即座に洞察とアクションを得ることができます。
一般的な用途には、以下のようなものがあります。
金融機関は、市場データ、取引、顧客とのやり取りを処理するためにストリーミング分析を頻繁に使用します。
例えば、クレジットカード会社は不正行為の検知にストリーミング・データを活用しています。ストリーミング・データ・プラットフォームを使用すると、これらの企業は1秒あたり数千件のトランザクションを分析して異常なアクティビティーを検知し、疑わしいトランザクションにフラグを付けたりブロックしたりできます。
お客様事例:フィンテックのWealthAPIは、イベント駆動型ストリーミング・アーキテクチャーを中心に金融分析プラットフォームを構築し、一貫性のない銀行取引データと取引データの継続的なフローをリアルタイムで処理しました。
受信データは、Google Pub/Subを通じてバッファリングおよび配信されます。これは、データ・プロデューサーをダウンストリーム・システムから切り離し、複数のサービスが同じストリームを同時に利用できるようにするメッセージング・サービスです。その後、IBM watsonx.dataは高性能な構造化データ検索を処理し、金融に関する洞察を最大で80%速く提供し、数万人のユーザーにサービスを提供すると同時に、アーキテクチャーを変更することなく数百万人に拡張しています。
最新の製造施設では、運用効率を向上させるために、IoTデバイス・センサーやリアルタイム・データ処理がよく使用されています。
例えば、自動車工場では、何千もの組立ライン・センサーを監視し、温度、振動、パフォーマンスなどの指標を追跡します。このデータは、オペレーターが非効率性を早期に検知し、ダウンタイムを回避するための予防保守をスケジュールするのに役立ちます。
医療提供者は、医療機器や患者モニタリング・システムからのデータを処理するためにストリーミング・アプリケーションに依存しています。
例えば、集中治療室では、ベッドサイドのモニターがデータ・パイプラインを介してバイタル・サインを中央プロセッサーにストリーミングします。その後、これらのプロセッサーは問題となるパターンを識別し、介入が必要な場合に医療スタッフに自動的に警告します。
小売業者や電子商取引企業は、POSシステム、在庫センサー、オンライン・プラットフォームからのストリーミング・データを活用して業務を最適化しています。
例えば、大規模なeコマース・プラットフォームでは、Apache Kafkaを使用して何百万もの買い物客からのクリックストリームを処理し、需要を測定して顧客エクスペリエンスをパーソナライズできます。
運輸会社は、車両を最適化するために、ストリーミング分析を使用してGPSデータとIoTセンサーの読み取り値を処理することがよくあります。
例えば、物流業者は何千台もの車両からのリアルタイム・データを気象や交通のデータセットと統合できます。ストリーム・プロセッサーは、最小限の遅延で自動ルート最適化を可能にし、ドライバーが遅延を回避できるようにします。
ストリーミング・データは、自動異常検知などのサイバーセキュリティー対策のサポートに役立ちます。AIおよび機械学習システムは、システム全体の監視ツールからのデータ・フローを分析して、異常なパターンや疑わしい動作を特定し、潜在的な問題に即座に対応できるようにします。
ストリーミング・データは、AIと機械学習でも重要な役割を果たします。例えば、ストリーム処理フレームワークは継続的なAIモデル・トレーニングをサポートできるため、機械学習アルゴリズムは変化するパターンにほぼリアルタイムで適応できます。
機械学習システムは、オンライン学習と呼ばれるプロセスを通じてストリーミング・データ・ソースから段階的に学習することもできます。このプロセスでは、特殊なアルゴリズムを使用して、完全なモデルの再トレーニングを必要とせずに精度を向上させることができます。
オープンソースと商用ストリーミング・データ・ソリューションの両方を利用することで、組織はフォールト・トレラントでスケーラブルなデータ・パイプラインを構築できます。つまり、データ損失やダウンタイムなしで障害から回復できます。
ほとんどのストリーミング・データ実装は、ストリーム処理フレームワークとストリーミング・データ・プラットフォームという2つの主要テクノロジーによって支えられています。
ストリーム処理フレームワークは、継続的なデータ・フローを処理するための基盤を提供します。これらのフレームワークは、組織が大量のデータを一貫して迅速かつ確実に処理する高性能なデータ・パイプラインを構築するのに役立ちます。
3つのオープンソース・フレームワークがストリーミング業界を支配しています。
ストリーミング・データ・プラットフォームは、取り込みと処理から保管と統合まで、リアルタイム・データのライフサイクル全体をサポートするツールを提供します。
主要なクラウド・プロバイダーは、大容量のデータ・ストリーミング・アプリケーションの展開と運用を簡素化するマネージド・ストリーミング・サービスを提供しています。例としては、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)、その他のデータ・ガバナンス要件の管轄下にあるその他の機密情報を含むストリーミング・データの保管と処理の方法を考慮すべきです。
IBM DataOpsプラットフォーム・ソリューションでデータを整理し、信頼性を高め、ビジネスがAIを導入できるようにしましょう。
直感的なグラフィカル・インターフェースでスマートなストリーミング・データ・パイプラインを作成、管理できるため、ハイブリッド環境やマルチクラウド環境でのシームレスなデータ統合を促進します。
IBMコンサルティングと連携することで、企業データの価値を引き出し、ビジネス上の優位性をもたらす洞察を活用した組織を構築します。