Kinesis

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

AWSリアルタイム

Kinesis とは

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

Kinesis ファミリー

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

SQS との比較

観点 Kinesis SQS
モデル データストリーム メッセージキュー
消費者 複数のコンシューマーが同じデータを読める 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 の背景や設計思想は関連書籍に詳しい。

関連用語