Confluent Platform 7.0 と Cluster Linking でクラウドへのリアルタイムブリッジを構築 | ブログを読む

ストリーミングデータ : 仕組み、メリットと使用事例

世界中で計り知れない量のデータが日々、毎分生成されており、驚異的な比率で増殖しています。あらゆる業界の企業が、最新のビジネス要件に対応するため、バッチ処理からリアルタイムのデータストリームへと急速に移行しています。この記事では、ストリーミングデータの概要、その仕組みとメリット、ユースケースに加え、バッチ処理との違い、リアルタイムのデータ機能で組織の最新化に寄与するデータストリーミングプラットフォームについて説明します。

Streaming Data - Overview

What is Streaming Data?

Also known as event stream processing, streaming data is the continuous flow of data generated by various sources. By using stream processing technology, data streams can be processed, stored, analyzed, and acted upon as it's generated in real-time.

ストリーミングとは?

「ストリーミング」という言葉は、始まりも終わりもない連続的なデータストリームを表すために使われ、ダウンロードをせずに活用または対応できるデータを供給し続けることを意味します。

データストリームは、あらゆる種類のソースから多彩なフォーマットと量で生成されます。アプリケーション、ネットワークデバイス、サーバーのログファイルからウェブサイトのアクティビティ、銀行取引や位置情報に至るまで、すべてを集約し、信頼できる唯一の情報源からリアルタイムの情報や分析をシームレスに収集することができます。

ストリーミングデータの仕組み - 概要、事例、アーキテクチャ

ストリーミングデータ リアルタイムデータアーキテクチャ

かつてのレガシーインフラストラクチャは生成するデータが少なかったため、比較的構造化されたもので、データとデータ構造を指定し、統一する方法でシステム全体を構築することができました。ストリーム処理システムの登場により、データの処理方法は現代の要件に合わせて大きく変化しています。

ストリームデータ処理の概要

今日のデータは、IoT センサー、サーバー、セキュリティログ、アプリケーションや社内外のシステムなど、数限りないソースから生成されており、構造やデータの完全性の規制、生成されるデータの量や速度の制御はほぼ不可能な状態です。

従来のソリューションはデータへの対応前に取り込み、処理して構造化するよう設計されていますが、ストリーミングデータアーキテクチャでは、Data in Motion(躍動するデータ)を取り込み、永続的に保管し、充実化して分析することが可能です。

そのため、データストリームを取り扱うアプリケーションには、常に「ストレージ」と「処理」という2つの機能が必要となります。ストレージには、大量のデータストリームをr連続で一貫性をもって記録できることが求められ、処理には、ストレージと通信し、データを消費・分析し、データ上で計算を実行できる能力が必要となります。

また、レガシーデータベースやシステムとの併用に際しては、新たな課題や検討すべき事項が出てきます。現在では、企業によるストリーミングデータアプリケーションを構築を支援するプラットフォームやツールが多数提供されています。

事例

ストリーミングデータの活用事例としては、リアルタイムの株式取引、分単位での小売在庫管理、ソーシャルメディアのフィード、マルチプレイヤーゲームでのやり取り、ライドシェアアプリなど、ありとあらゆる業界のユースケースがあります。

例えば、利用者が Lyft に電話すると、リアルタイムのデータストリームが一体となってシームレスなユーザー体験を生み出します。こうしたデータを通じ、アプリはリアルタイムの位置情報追跡、交通統計、価格設定、リアルタイムの交通データを組み合わせ、利用者と最適な運転手のマッチング、価格計算、リアルタイムと過去のデータに基づく目的地への所要時間の推定を同時に行います。

こうした例からも分かるように、ストリーミングデータは、あらゆるデータドリブン型の組織の最初のステップとなり、ビッグデータの取り込み、統合やリアルタイム分析を促進します。

バッチ処理とリアルタイムストリームの比較

バッチ形式のデータ処理ではデータを一括ダウンロードした上で処理、保存と分析を行う必要がありますが、ストリーミングデータは連続的に流入するため、データが生成された瞬間にリアルタイムで同時に処理することが可能です。

今日のデータは、終わりのないイベントのストリームとして届くのが普通で、あらゆる量やフォーマットで、クラウド、オンプレミス、ハイブリッドクラウドなど多彩な場所から提供されます。

旧来のデータ処理方法では経時的に収集されたトランザクションのグループとしてしかデータを処理できないため、今日の複雑な要件にはそぐわず、ほとんどのユースケースで時代遅れとなっています。現代の企業は、データが陳腐化する前にミリ秒単位のデータに基づいて行動を取る必要があります。こうした継続的なデータが、ビジネスの進め方を変革する無数の利点をもたらします。

Benefits & Use Cases

ストリーミングデータのメリット

データの収集は氷山の一角に過ぎません。今日の企業にはバッチ形式でのデータの処理を待つだけの余裕はなく、不正行為の検知や株式市場プラットフォーム、ライドシェアアプリや E コマースサイトなど、あらゆる局面でリアルタイムのデータストリームが活用されています。

ストリーミングデータと組み合わせることで、アプリケーションにデータの統合に加え、受信したデータを即座にリアルタイムで処理、フィルタリング、分析、対応できる能力が生まれ、リアルタイムでの不正検知、Netflix でのおすすめ、購入のたびに更新される複数のデバイスでのシームレスなショッピング体験など、新たなユースケースの可能性が広がります。

つまり、ビッグデータを取り扱う業界であれば、こうした技術の実現する継続的なリアルタイムデータの恩恵を大いに受けられるのです。

ユースケース

Apache Kafka や Confluent などのストリーム処理システムは、リアルタイムデータと分析を実現します。データストリーミングはあらゆる業界で利用されていますが、データをリアルタイムで大規模に統合、分析、トラブルシューティングや予測できるこうしたシステムの能力で、新たなユースケースが生まれます。組織の過去のデータやストレージ内のバッチデータの利用に加え、躍動するデータからも貴重なインサイトが得られるようになります。

一般的なユースケースの例 :

  • 位置情報データ
  • 不正の検出
  • リアルタイムの株式取引
  • マーケティング、営業、ビジネス分析
  • 顧客/ユーザーのアクティビティ
  • 社内 IT システムの監視とレポーティング
  • ログの監視 : システム、サーバー、デバイスなどのトラブルシューティング
  • SIEM (セキュリティ情報イベント管理): 監視、測定、脅威検知のためのログとリアルタイムイベントデータの分析
  • 小売/倉庫の在庫管理 : すべてのチャネルと場所を対象とした在庫管理とあらゆるデバイスでのシームレスな顧客体験の提供
  • ライドシェアのマッチング : 位置情報、ユーザー、価格設定データを組み合わせて予測分析を実現 - 距離、目的地、価格、待ち時間などから利用者とドライバーをマッチング
  • 機械学習と AI : 過去と現在のデータの組み合わせで一つの中枢神経系を構築
  • 予測分析で新たな可能性を実現

Apache Kafka のようなストリーム処理システムは、処理、保管、分析すべきデータが存在する限り、その種類にかかわらずデータを活用し、多数のユースケースを生み出すために役立ちます。誰もが無料で使えるオープンソースのソフトウェアです。

自社でストリーム処理アプリケーションを構築するのに必要な人材や専門知識がない場合でも、Confluent なら、アプリケーションの自社開発、構成や管理の手間なく、事実上あらゆる種類のデータの活用を手軽に開始することができます。

Challenges Building Data Streaming Applications

リアルタイムアプリケーション構築における主な課題

スケーラビリティ: システム障害が発生すると、各デバイスから流入するログデータが毎秒キロビットから毎秒メガビットへ、さらに集約されて毎秒ギガビットへと増大する可能性があります。アプリケーションの拡張に合わせて容量、リソースやサーバーを追加すると、瞬時に生データの生成量が指数関数的に増加します。ストリーミングデータを取り扱う際には、スケーラビリティを備えたアプリケーション設計が欠かせません。

順序付け: データストリーム内のデータの順序の決定は些細なことではなく、多くのアプリケーションで非常に重要なことです。チャットや会話は順番が揃っていないと意味をなさず、開発者が集約されたログビューを確認して問題をデバッグする際には、各行が順番に並んでいなければなりません。生成時点でのデータパケットの順序と配信先にそうしたパケットが届く順序は異なることが多く、データを生成するデバイスのタイムスタンプやクロックにもずれが生じることがあります。データストリームを解析する際には、アプリケーションが ACID トランザクションを前提としていることを認識しておく必要があります。

一貫性と耐久性 : データストリーム処理において、データの一貫性とデータへのアクセスは常に困難な問題となります。ある時点で読み込まれたデータが、世界の別の場所にある別のデータセンターではすでに修正され、古くなっている可能性もあります。また、クラウド上のデータストリームを取り扱う際にはデータの耐久性も課題となります。

フォールトトレランスとデータの保証 : データ、ストリーム処理やその他の分散システムを扱う際に考慮すべき重要な点です。データが無数のソースやロケーションからさまざまなフォーマットや量で流入する中、システムが単一障害点による混乱を防げるか、ストリームデータを高い可用性と耐久性で保管できるかなどが焦点となります。

フォーチュン 100 企業の 80% をリアルタイムデータで支援

今日のデジタルファーストの世界を勝ち抜くためには、企業は卓越した顧客体験とデータに基づくバックエンドオペレーションを提供しなければなりません。このためには、リアルタイムで組織全体から継続的に流入し、変化を続けるデータに対応し、応答して適応する能力が必要となりますが、多くの企業では、こうしたデータの多くが組織内でサイロ化され、保管されたままになっています。

Apache KafkaConfluent などのテクノロジーの登場で、リアルタイムのストリーミングと分析が現実的なものになりました。

Confluent は、過去のデータとリアルタイムのデータを信頼できる唯一の情報源へと一元化することで、まったく新たなカテゴリーの最新イベントドリブン型アプリケーションの構築、ユニバーサルなデータパイプラインの獲得、強力なデータドリブンのユースケースの実現を完全なスケーラビリティ、パフォーマンスと信頼性で可能にします。

Confluent を選ぶ理由

小売、物流、製造、金融サービスからオンラインソーシャルネットワーキングなど、業界にかかわらず、Confluent を活用することで、多様なシステム間でのデータの送受信、切り替えやソートなどの基本的な仕組みを気にすることなく、データから事業上の価値を引き出すことに集中できるようになります。

Confluent は、あらゆるソースからのデータを規模の大小にかかわらずストリームするために設計された唯一のストリーミングデータプラットフォームで、Walmart、Expedia、Bank of America などの有名企業でも活用されています。Apache Kafka を生んだ開発者チームが構築した今日最も強力なストリーミングデータプラットフォームで、ビッグデータの取り込みに加え、リアルタイムでの処理、グローバルなデータ統合、ストリーム内分析も可能です。

無料トライアルでわずか数分で活用を開始する方法やConfluent がリアルタイムデータで企業を支援する方法 をぜひご確認ください。