Kinesis

AWS のリアルタイムデータストリーミングサービスで、大量のデータを収集・処理・分析する

AWSリアルタイム

Kinesis とは

Amazon Kinesis は、リアルタイムデータストリーミングサービスで、大量のデータ (ログ、クリックストリーム、IoT データ) を収集・処理・分析する。SQS がメッセージキューであるのに対し、Kinesis はデータストリームである。

Kinesis ファミリー

Kinesis ファミリーを以下にまとめる。

サービス用途
Kinesis Data Streamsリアルタイムデータストリーム
Kinesis Data FirehoseS3/Redshift/OpenSearch への配信
Kinesis Data Analyticsストリームデータの SQL 分析
Kinesis Video Streams動画ストリーミング

SQS との比較

SQS との主な違いを以下に比較する。

観点KinesisSQS
モデルデータストリームメッセージキュー
消費者複数のコンシューマーが同じデータを読める1 メッセージ = 1 コンシューマー
順序保証シャード内で保証FIFO キューで保証
データ保持24 時間〜365 日最大 14 日
スループットシャードあたり 1 MB/秒ほぼ無制限
用途ログ分析、リアルタイム処理タスクキュー、非同期処理

アーキテクチャ

アーキテクチャを図で示す。

[プロデューサー][Kinesis Data Streams][Lambda][DynamoDB][Firehose][S3][Athena][別の Lambda][OpenSearch]

1 つのストリームを複数のコンシューマーが独立して読める (ファンアウト)。

シャード

Kinesis のスループットはシャード数で決まる。

方向シャードあたり
書き込み1 MB/秒 or 1,000 レコード/秒
読み取り2 MB/秒

Enhanced Fan-Out を使うと、コンシューマーごとに 2 MB/秒の専用スループットが割り当てられる。

Kinesis Data Firehose

コードを書かずに S3、Redshift、OpenSearch にデータを配信する。

Kinesis の背景や設計思想は関連書籍に詳しい。

この記事は役に立ちましたか?

関連用語

関連する記事