ストリーミング・データとは、さまざまなソースからのリアルタイム・データの継続的な流れです。スケジュールされた間隔でデータセットを処理するバッチ処理とは異なり、ストリーミング・データは到着するとすぐに処理され、リアルタイムで即座に洞察が得られます。
今日の組織は、モノのインターネット(IoT)デバイスから電子商取引トランザクションまで、あらゆるものに関して大量のデータを生成しています。ストリーミング・データは、「データ・ストリーミング」または「リアルタイム・データ・ストリーミング」とも呼ばれ、組織がこれらの継続的なデータ・フローを受信するとすぐに処理するのに役立ちます。
ストリーミング・データの例は次のとおりです。
組織では、多くの場合、ストリーミング・データを使用して、データ分析やビジネス・インテリジェンス(BI)などの、データ駆動型の意思決定をリアルタイム・データで迅速に行うビジネス・イニシアチブをサポートします。
ストリーミング・データは、多くの場合、ビッグ・データの収集と処理の取り組みの一部です。例えば、組織はビッグ・データ分析を使用して継続的なデータ・ストリームを分析し、運用効率、消費者の傾向、変化する市場動向に関する洞察を得ることができます。
ストリーミング・データは継続的に流れるため、従来のバッチ処理とは異なる処理方法が必要です。これには、最適なパフォーマンスを維持しながらデータの取り込み、処理、分析を管理するスケーラブルなストリーミング・アーキテクチャーとストリーム・プロセッサーが含まれることがよくあります。
近年、人工知能(AI)と機械学習の台頭により、ストリーミング・データ機能への注目がさらに高まっています。これらのテクノロジーは、多くの場合、ストリーミング・データ処理を利用してリアルタイムの洞察と予測を生成します。
調査会社のGartner社によると、61%の組織がAIテクノロジーの影響により、データと分析の運用モデルを進化させるか、再考する必要があると報告しています。1
組織は、主に2つの方法でデータを処理できます。バッチ処理またはストリーミング・データです。
どちらの方法も大量のデータを処理しますが、それぞれ異なるユースケースに対応し、異なるアーキテクチャーを必要とします。
主な違いは次のとおりです。
組織は通常、データ量、レイテンシのニーズ、ビジネス目標に基づいてバッチ処理とストリーム処理のどちらかを選択します。多くの組織は、統合データ・ファブリック内で両方のアプローチを使用して、さまざまな種類のデータ・タスクを処理します。
例えば、eコマース組織では、バッチ処理を使用して毎日の売上レポートを生成し、ストリーミング・データとリアルタイム分析システムを使用して主要なWebサイトのメトリクスを監視する場合があります。
大まかに言えば、ストリーミング・データは、さまざまなソースからのリアルタイム・データ・フローを継続的に取得、処理、分析することで機能します。このプロセスは、次の4つの主要な段階で構成されます。
第1段階では、さまざまなソースからの受信データストリームを取得します。Kafkaなどの最新のデータ取り込みツールは、受信したストリームをバッファーして標準化し、拡張性とデータの一貫性の両方を確保するのに役立ちます
組織では通常、データ統合ツールを他のコンポーネントと統合して、統一されたワークフローを作成します。データ統合ツールは、異種のデータ・タイプを標準化された処理形式にさらに整合させ、複数のソースからのデータを効果的に組み合わせて分析できるようにします。
処理段階では、Apache Flinkなどのストリーム処理フレームワークが、データが移動している間にデータを分析および変換します。これらのフレームワークにより、組織は次のことが可能になります。
この段階では、組織はデータ視覚化やその他の分析ツールを通じて、ストリーミング・データ・フローから実用的なビジネス・インサイトを引き出しています。
主な用途は次のとおりです:
ストリーミング・データを保管する場合、組織は、リアルタイムで使用するためにデータに素早くアクセスする必要性、および長期的なデータ・ストレージ、コスト効率、およびデータ・コンプライアンスの懸念とのバランスを取る必要があります。
多くの組織では、ストリーミング・データの保管にデータ・レイクとデータレイクハウスを使用しています。これらのソリューションは、大量のデータに対して低コストで柔軟なストレージ環境を提供するためです。ストリーミング・データが取得された後、データウェアハウスに送信され、そこでクリーンアップされて使用できるように準備される場合があります。
組織では、多くの場合、複数のデータ・ストレージ・ソリューションを統合されたデータ・ファブリックにまとめて実装します。例えば、金融機関では、データ・レイクを使用して未加工のトランザクション・ストリームを保管し、ウェアハウスを使用して分析やレポートを作成する場合があります。
組織は、リアルタイムの分析と意思決定をサポートするために、さまざまな種類のストリーミング・データを使用できます。最も一般的なストリーミング・データ・フローには、次のようなものがあります。
イベント・ストリームは、アプリケーション・プログラミング・インターフェース(API)呼び出し、Webサイトのクリック、アプリのログ・エントリーなど、発生したシステム・アクションや変更を取得します。イベント・ストリームは、システム全体のリアルタイム・アクティビティーを追跡するためによく使用され、ユーザー操作やシステム・イベントに即座に対応できるようにします。
リアルタイム・トランザクション・データは、デジタル決済や電子商取引の購入など、ビジネス・トランザクションの継続的なフローを取得します。リアルタイム・トランザクション・データは、不正検知や即時の意思決定などのアプリケーションをサポートします。
IoTおよびセンサー・データには、環境条件、機器のパフォーマンス、物理プロセスに関する情報が含まれます。これらのデータ・ストリームは、多くの場合、リアルタイムの機器監視とプロセスの自動化をサポートします。
ストリーミング・データにより、組織は大量のリアルタイム情報を処理して、即座に洞察とアクションを得ることができます。
一般的な用途には、以下のようなものがあります。
金融機関は、市場データ、取引、顧客とのやり取りを処理するためにストリーミング分析を頻繁に使用します。
例えば、クレジットカード会社は不正行為の検知にストリーミング・データを活用しています。ストリーミング・データ・プラットフォームを使用すると、これらの企業は1秒あたり数千件のトランザクションを分析して異常なアクティビティーを検知し、疑わしいトランザクションにフラグを付けたりブロックしたりできます。
現代の製造施設では、運用効率を向上させるために、IoTデバイス・センサーとリアルタイム・データ処理がよく使用されています。
例えば、自動車工場では、何千もの組立ライン・センサーを監視し、温度、振動、パフォーマンスなどの指標を追跡します。このデータは、オペレーターが非効率性を早期に検知し、ダウンタイムを回避するための予防保守をスケジュールするのに役立ちます。
医療提供者は、医療機器や患者モニタリング・システムからのデータを処理するためにストリーミング・アプリケーションに依存しています。
例えば、集中治療室では、ベッドサイドのモニターがデータ・パイプラインを介してバイタル・サインを中央プロセッサにストリーミングします。その後、これらのプロセッサーは問題となるパターンを識別し、介入が必要な場合に医療スタッフに自動的に警告します。
小売業者や電子商取引企業は、POSシステム、在庫センサー、オンライン・プラットフォームからのストリーミング・データを活用して業務を最適化しています。
例えば、大規模なeコマース・プラットフォームでは、Apache Kafkaを使用して何百万もの買い物客からのクリックストリームを処理し、需要を測定して顧客エクスペリエンスをパーソナライズできます。
運輸会社は、車両を最適化するために、ストリーミング分析を使用してGPSデータとIoTセンサーの読み取り値を処理することがよくあります。
例えば、物流業者は何千台もの車両からのリアルタイム・データを気象や交通のデータセットと統合できます。ストリーム・プロセッサーは、最小限の遅延で自動ルート最適化を可能にし、ドライバーが遅延を回避できるようにします。
ストリーミング・データは、自動異常検知などのサイバーセキュリティー対策のサポートに役立ちます。AIおよび機械学習システムは、システム全体の監視ツールからのデータ・フローを分析して、異常なパターンや疑わしい動作を特定し、潜在的な問題に即座に対応できるようにします。
ストリーミング・データは、AIと機械学習でも重要な役割を果たします。例えば、ストリーム処理フレームワークは継続的なAIモデル・トレーニングをサポートできるため、機械学習アルゴリズムは変化するパターンにほぼリアルタイムで適応できます。
機械学習システムは、オンライン学習と呼ばれるプロセスを通じてストリーミング・データ・ソースから段階的に学習することもできます。このプロセスでは、特殊なアルゴリズムを使用して、完全なモデルの再トレーニングを必要とせずに精度を向上させることができます。
オープンソースと商用ストリーミング・データ・ソリューションの両方を利用することで、組織はフォールト・トレラントなスケーラブルなデータ・パイプラインを構築できます。つまり、データ損失やダウンタイムなしで障害から回復できます。
ほとんどのストリーミング・データ実装は、ストリーム処理フレームワークとストリーミング・データ・プラットフォームという2つの主要テクノロジーによって支えられています。
ストリーム処理フレームワークは、継続的なデータ・フローを処理するための基盤を提供します。これらのフレームワークは、組織が大量のデータを一貫して迅速かつ確実に処理する高性能なデータ・パイプラインを構築するのに役立ちます。
ストリーミング業界では、3つのオープンソース・フレームワークが主流です。
主要なストリーミング・プラットフォームであるKafkaは、ミリ秒単位のレイテンシで膨大な量のデータを処理できます。組織では、アクティビティーの追跡、運用の監視、ログの集約のためのパイプラインを構築するためにKafkaを使用することがよくあります。
Apache Flinkは、複雑なイベント処理とステートフルな計算に特化しています。時間の経過に伴うイベントのコンテキストの理解が重要な、リアルタイム分析、不正検知、予測メンテナンスに役立ちます。
統合分析機能で知られるSparkは、バッチ・データとストリーミング・データの両方を同時に処理できます。この機能は、組織がライブ・データと並行して履歴データを分析する必要があるシナリオで役立ちます。
ストリーミング・データ・プラットフォームは、取り込みと処理から保管と統合まで、ストリーミング・データのライフサイクル全体をサポートするさまざまなツールと機能を提供します。
多くの大手クラウド・プロバイダーは、組織が大容量データ・ストリーミング・アプリケーションを簡単にセットアップできるようにする、マネージド・ストリーミング・データ・ソリューションを提供しています。Amazon Web Services (AWS)のAmazon Kinesis、Microsoft Azure Stream Analytics、Google CloudのDataflow、IBM Event Streamsなどのサービスでは、すぐに使用できるツールが提供されています。企業は複雑なインフラストラクチャーをゼロから構築する必要はありません。
これらのサービスは、オンプレミスのストリーミング・ツールと統合して、パフォーマンスのニーズとデータ・プライバシーの要件のバランスをとるのに役立つハイブリッド・アーキテクチャーを作成することもできます。
組織は、IBM StreamSets や Confluentなどのツールを使用して、独自のITエコシステムに合わせてストリーミング・データ・パイプラインを構築することもできます。
ストリーミング・データには多くの利点がありますが、ストリーミング・アプリケーションをサポートするために必要なデータ・アーキテクチャーを構築する際には、組織が課題に直面する可能性があります。
一般的な課題には、次のようなものがあります。
IBM DataOpsプラットフォーム・ソリューションでデータを整理し、信頼性を高め、ビジネスがAIを導入できるようにしましょう。
データ・パイプライン用の可観測性ソフトウェア、IBM Databandをご紹介します。メタデータを自動的に収集して履歴ベースラインを構築し、異常を検出し、データ品質の問題を修復するためのワークフローを作成できます。
IBMコンサルティングと連携することで、企業データの価値を引き出し、ビジネス上の優位性をもたらす洞察を活用した組織を構築します。