Amazon Kinesis Data Streams とは - Amazon Kinesis Data Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Kinesis Data Streams とは

データレコードの大量のストリームをリアルタイムで収集し、処理するには、Amazon Kinesis Data Streams を使用します。Kinesis Data Streams アプリケーションと呼ばれるデータ処理アプリケーションを作成できます。一般的な Kinesis Data Streams アプリケーションは、データストリームのデータをデータレコードとして読み取ります。これらのアプリケーションは Kinesis Client Library を使用し、Amazon EC2インスタンスで実行できます。処理されたレコードは、ダッシュボードに送信してアラートの生成や、料金設定と広告戦略の動的変更に使用できるほか、他のさまざまな AWS のサービスにデータを送信できます。Kinesis Data Streams の機能と料金については、Amazon Kinesis Data Streamsを参照してください。

Kinesis Data Streams は、Firehose 、Kinesis Video Streams、Managed Service for Apache Flink とともに Kinesis ストリーミングデータプラットフォームの一部です。 https://docs.aws.amazon.com/kinesisanalytics/latest/dev/

AWS ビッグデータソリューションの詳細については、「 のビッグデータ AWS」を参照してください。 AWS ストリーミングデータソリューションの詳細については、ストリーミングデータとは?を参照してください。

Kinesis Data Streams で何ができますか?

Amazon Kinesis Data Streams を使用して、高速かつ継続的にデータの取り込みと集約を行うことができます。使用されるデータには、IT インフラストラクチャのログデータ、アプリケーションのログ、ソーシャルメディア、マーケットデータフィード、ウェブのクリックストリームデータなどの種類があります。データの取り込みと処理の応答時間はリアルタイムであるため、処理は一般的に軽量です。

以下に示しているのは、Kinesis Data Streams の一般的なシナリオです。

ログとデータフィードの取り込みと処理の高速化

プロデューサーからストリームにデータを直接プッシュさせることができます。たとえば、システムとアプリケーションのログをプッシュすると、数秒で処理可能になります。これにより、フロントエンドサーバーやアプリケーションサーバーに障害が発生した場合に、ログデータが失われることを防止できます。Kinesis Data Streams では、取り込み用にデータを送信する前にサーバーでデータがバッチ処理されないように、データフィードの取り込みが加速されます。

リアルタイムのメトリクスとレポート作成

Kinesis Data Streams に取り込んだデータを使用して、リアルタイムのデータ分析とレポート作成を簡単に行うことができます。たとえば、データ処理アプリケーションは、バッチデータを受け取るまで待つのではなく、データのストリーミング中にシステムおよびアプリケーションのログに関するメトリクスやレポート作成を操作できます。

リアルタイムデータ分析

これにより、並行処理の能力がリアルタイムデータの価値と同時に得られます。例えば、ウェブサイトのクリックストリームをリアルタイムで処理し、さらに並行して実行される複数の異なる Kinesis Data Streams アプリケーションを使用して、サイトの使いやすさの関与を分析します。

複雑なストリーム処理

Kinesis Data Streams アプリケーションとデータストリームの有向非巡回グラフ (DAGs) を作成できます。通常、ここでは複数の Kinesis Data Streams アプリケーションから別のストリームにデータを出力し、別の Kinesis Data Streams アプリケーションによって下流処理が行われるようにします。

Kinesis Data Streams を使用する利点

Kinesis Data Streams は、さまざまなデータストリーミングの問題解決に使用できますが、一般的にデータのリアルタイム集計にも使用できます。集計データはその後でデータウェアハウスや MapReduce クラスターに読み込むことができます。

データは Kinesis Data Streams に取り込まれるため、耐久性と伸縮性が確保されます。レコードがストリームに挿入されてから取得 (put-to-get 遅延) できるまでの遅延は、通常 1 秒未満です。つまり、Kinesis Data Streams アプリケーションにデータが追加されると同時にストリームのデータを利用し始めることができます。Kinesis Data Streams はマネージドサービスであるため、データ取り込みパイプラインの作成と実行にかかわる運用負荷が軽くなります。MapReduce 型のストリーミングアプリケーションを作成することができます。Kinesis Data Streams は伸縮性に優れており、ストリームをスケールアップまたはスケールダウンできるため、有効期限が切れる前にデータレコードがなくなることはありません。

複数の Kinesis Data Streams アプリケーションを使用して、ストリームからデータを消費できるため、アーカイブや処理のような複数のアクションを同時に独立して実行できます。たとえば、2 つのアプリケーションが、同じストリームからデータを読み取ることができます。最初のアプリケーションは、集計を実行して計算し、Amazon DynamoDB テーブルを更新します。2 番目のアプリケーションは、データを圧縮して Amazon Simple Storage Service (Amazon S3) などのデータストアにアーカイブします。実行中の集計を含む DynamoDB テーブルは、 up-to-the-minute レポートのダッシュボードによって読み取られます。

Kinesis Client Library を使用すると、耐障害性を維持しながらストリームのデータを利用でき、Kinesis Data Streams アプリケーションのスケーリングも可能になります。

Amazon EMRクラスターを使用して Kinesis データストリームを直接読み取って処理する方法については、「Kinesis Connector」を参照してください。