Azure Event Hubs - ビッグ データのストリーミング プラットフォームとなるイベント インジェスト サービスAzure Event Hubs — A big data streaming platform and event ingestion service

Azure Event Hubs は、ビッグ データのストリーミング プラットフォームとなるイベント インジェスト サービスです。Azure Event Hubs is a big data streaming platform and event ingestion service. 1 秒間に何百万ものイベントを受信して処理することができます。It can receive and process millions of events per second. イベント ハブに送信されたデータは、任意のリアルタイム分析プロバイダーやバッチ処理/ストレージ アダプターを使用して、変換および保存できます。Data sent to an event hub can be transformed and stored by using any real-time analytics provider or batching/storage adapters.

次のシナリオは、Event Hubs の用途の一例です。The following scenarios are some of the scenarios where you can use Event Hubs:

  • 異常検出 (不正/外れ値)Anomaly detection (fraud/outliers)
  • アプリケーションのログ記録Application logging
  • クリックストリームなどの分析パイプラインAnalytics pipelines, such as clickstreams
  • ライブ ダッシュボードLive dashboarding
  • データのアーカイブArchiving data
  • トランザクション処理Transaction processing
  • ユーザー利用統計情報処理User telemetry processing
  • デバイス利用統計情報ストリーミングDevice telemetry streaming

Event Hubs を使用する理由Why use Event Hubs?

データは、データ ソースを処理してタイムリーに分析情報を取得する簡単な方法があって初めて価値があります。Data is valuable only when there is an easy way to process and get timely insights from data sources. Event Hubs が提供する分散ストリーム処理プラットフォームは、待ち時間が短く、Azure の内部および外部にあるデータおよび分析サービスとシームレスに統合して、完全なビッグ データ パイプラインを構築します。Event Hubs provides a distributed stream processing platform with low latency and seamless integration, with data and analytics services inside and outside Azure to build your complete big data pipeline.

Event Hubs はイベント パイプラインの "玄関口" を表し、ソリューション アーキテクチャでは "イベント インジェスター" と呼ばれることがよくあります。Event Hubs represents the "front door" for an event pipeline, often called an event ingestor in solution architectures. イベント取り込みとは、イベント ストリームの生成とそのようなイベントの消費とを分離するために、イベント パブリッシャーとイベント コンシューマーとの間に置かれるコンポーネントやサービスです。An event ingestor is a component or service that sits between event publishers and event consumers to decouple the production of an event stream from the consumption of those events. Event Hubs は、時間保持バッファーを備えた統合ストリーミング プラットフォームを提供し、イベント プロデューサーをイベント コンシューマーから切り離します。Event Hubs provides a unified streaming platform with time retention buffer, decoupling event producers from event consumers.

以降のセクションで、Azure Event Hubs サービスの主要な機能について説明します。The following sections describe key features of the Azure Event Hubs service:

フル マネージド PaaSFully managed PaaS

Event Hubs は構成または管理のオーバーヘッドがほとんどないフル マネージドの PaaS (サービスとしてのプラットフォーム) なので、ユーザーはビジネス ソリューションに集中できます。Event Hubs is a fully managed Platform-as-a-Service (PaaS) with little configuration or management overhead, so you focus on your business solutions. Apache Kafka エコシステム向けの Event Hubs では PaaS Kafka エクスペリエンスが提供され、独自のクラスターを管理、構成、実行する必要はありません。Event Hubs for Apache Kafka ecosystems gives you the PaaS Kafka experience without having to manage, configure, or run your clusters.

リアルタイム処理とバッチ処理のサポートSupport for real-time and batch processing

ストリームの取り込み、バッファー、格納、処理をリアルタイムで行い、アクションにつながる分析情報を取得します。Ingest, buffer, store, and process your stream in real time to get actionable insights. Event Hubs はパーティション分割されたコンシューマー モデルを使用して、複数のアプリケーションがストリームを同時に処理し、処理の速度を制御できるようにします。Event Hubs uses a partitioned consumer model, enabling multiple applications to process the stream concurrently and letting you control the speed of processing.

長期保有またはマイクロ バッチ処理のために、ほぼリアルタイムでデータを Azure Blob Storage または Azure Data Lake Storage  にキャプチャします。Capture your data in near-real time in an Azure Blob storage or Azure Data Lake Storage for long-term retention or micro-batch processing. この動作は、リアルタイム分析の派生に使用するものと同じストリームで実現できます。You can achieve this behavior on the same stream you use for deriving real-time analytics. イベント データをキャプチャするための設定に時間はかかりません。Setting up capture of event data is fast. 実行に伴う管理コストは生じず、また、Event Hubs の スループット単位に応じて自動的にスケーリングされます。There are no administrative costs to run it, and it scales automatically with Event Hubs throughput units. Event Hubs を使用することで、ユーザーはデータ キャプチャではなくデータ処理に専念できます。Event Hubs enables you to focus on data processing rather than on data capture.

また、Azure Event Hubs は サーバーレス アーキテクチャ用の Azure Functions と統合します。Azure Event Hubs also integrates with Azure Functions for a serverless architecture.

拡張性Scalable

Event Hubs では、メガバイト単位のデータ ストリームで開始し、ギガバイトまたはテラバイトまで拡張できます。With Event Hubs, you can start with data streams in megabytes, and grow to gigabytes or terabytes. 自動インフレ機能は、使用状況のニーズに合わせてスループット ユニットの数をスケーリングするために利用できる多くのオプションの 1 つです。The Auto-inflate feature is one of the many options available to scale the number of throughput units to meet your usage needs.

充実したエコシステムRich ecosystem

Apache Kafka エコシステム向けの Event Hubs により、Apache Kafka (1.0 以降) のクライアントとアプリケーションは Event Hubs と通信できます。Event Hubs for Apache Kafka ecosystems enables Apache Kafka (1.0 and later) clients and applications to talk to Event Hubs. 独自に Kafka クラスターをセットアップ、構成、管理する必要はありません。You do not need to set up, configure, and manage your own Kafka clusters.

さまざまな言語 (.NET、Java、Python、Go、Node.js) で使用可能な広範なエコシステムにより、Event Hubs からのストリームの処理を簡単に開始できます。With a broad ecosystem available in various languages (.NET, Java, Python, Go, Node.js), you can easily start processing your streams from Event Hubs. サポートされているすべてのクライアント言語が、低レベルの統合を提供します。All supported client languages provide low-level integration. また、このエコシステムを通じて、Azure Stream Analytics や Azure Functions などの Azure サービスとシームレスに統合し、サーバーレスのアーキテクチャを構築することができます。The ecosystem also provides you with seamless integration with Azure services like Azure Stream Analytics and Azure Functions and thus enables you to build serverless architectures.

主なアーキテクチャ コンポーネントKey architecture components

Event Hubs には次の主要コンポーネントが含まれます。Event Hubs contains the following key components:

  • イベント プロデューサー: イベント ハブにデータを送信するエンティティ。Event producers: Any entity that sends data to an event hub. イベント パブリッシャーは、HTTPS、AMQP 1.0、または Apache Kafka (1.0 以降) を使用してイベントを発行できます。Event publishers can publish events using HTTPS or AMQP 1.0 or Apache Kafka (1.0 and above)
  • パーティション: 各コンシューマーは、メッセージ ストリームの特定のサブセット (パーティション) のみを読み取ります。Partitions: Each consumer only reads a specific subset, or partition, of the message stream.
  • コンシューマー グループ: イベント ハブ全体のビュー (状態、位置、またはオフセット)。Consumer groups: A view (state, position, or offset) of an entire event hub. コンシューマー グループを使用すると、コンシューマー側アプリケーションがそれぞれイベント ストリーム ビューを持つことができるようになります。Consumer groups enable consuming applications to each have a separate view of the event stream. それらは、独自のペースとオフセットで個別にストリームを読み取ります。They read the stream independently at their own pace and with their own offsets.
  • スループット単位: Event Hubs のスループット容量を制御する、購入前の容量の単位。Throughput units: Pre-purchased units of capacity that control the throughput capacity of Event Hubs.
  • イベント レシーバー: イベント ハブからイベント データを読み取るエンティティ。Event receivers: Any entity that reads event data from an event hub. Event Hubs のすべてのコンシューマーは、AMQP 1.0 セッションを介して接続します。All Event Hubs consumers connect via the AMQP 1.0 session. Event Hubs サービスは、イベントが利用可能になると、セッションを通じてそれらを配信します。The Event Hubs service delivers events through a session as they become available. すべての Kafka コンシューマーは、Kafka プロトコル 1.0 以降を通じて接続します。All Kafka consumers connect via the Kafka protocol 1.0 and later.

次の図は、Event Hubs ストリーム処理のアーキテクチャを示しています。The following figure shows the Event Hubs stream processing architecture:

Event Hubs

次の手順Next steps

Event Hubs を使い始めるには、以下のイベントの送受信のチュートリアルを参照してください。To get started using Event Hubs, see the Send and receive events tutorials:

Event Hubs の詳細については、次の記事を参照してください。To learn more about Event Hubs, see the following articles: