0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS SAP】Kinesis Data Streams と Firehose がどうしても覚えられない人向け

Last updated at Posted at 2024-12-25

Kinesis Data Streams と Firehose の違い

どうしても覚えられないのでまとめました。

Kinesis Data Streams

リアルタイムのデータ処理
image.png

Kinesis Data Firehose

データ転送
image.png

基本の違い

項目 Kinesis Data Streams Kinesis Firehose
ユースケース リアルタイムデータ処理 データのバッチ転送
制御性 高い(データ保持、シャード数の設定など) 低い(設定は簡単、フルマネージド)
処理の複雑さ ユーザーがアプリケーションで処理を実装する必要がある AWS側で自動的にデータを処理・配信
転送先 自由に選択可能(例: Lambda, S3, DynamoDB) 固定(S3, Redshift, Elasticsearchなど)
データ保持期間 最大7日間 データを保持しない(リアルタイム転送のみ)
リアルタイム性 ミリ秒単位のリアルタイム処理が可能 遅延が発生する可能性がある(60秒以内)

覚え方

1. 「ストリームは流れ、ホースは給水」

  • Streamsは「常に流れる」→ リアルタイム処理。
  • Firehoseは「一気に注ぐ」→ バッチで目的地に注ぎ込むイメージ。

2. 「カスタムな流れとホース任せ」

  • Streamsは「自分で流れを制御」する。→ 開発者が細かくコントロール。
  • Firehoseは「AWS任せ」→ フルマネージドで手間いらず。

3. 「ストリームは一時的、ホースは運搬」

  • Streamsは一時的にデータを保持する(最大7日間)。
  • Firehoseは保持せず直接運搬。

具体例で理解

1. Streams

  • シナリオ: 株価データをリアルタイムで分析。
  • 動作: 開発者がアプリを作り、データを取り出して処理。

2. Firehose

  • シナリオ: IoTセンサーのデータをS3に保存。
  • 動作: AWSが自動的にデータをS3に送る。

シンプルにまとめた語呂

  • 「ストリームは細かく作る、ホースはAWS任せ」

Kinesis Data StreamsとFirehoseの違い

特徴 Kinesis Data Streams Kinesis Data Firehose
シャード 必須。スループット管理に使用 不要。完全管理型でスケーリング自動化
スケーリング方法 手動でシャード数を調整 自動スケーリング
データ処理の柔軟性 コンシューマーがカスタムロジックを実装可能 簡易なデータ変換(Lambda関数で対応可能)
配信先 一時的に保存しながら、消費者が取得する データを直接指定されたターゲットへ送信
レイテンシ ミリ秒単位での処理 数秒から1分程度
適用例 カスタム処理や高スループットが必要な場合 シンプルでストリーミングデータを保存する場合
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?