Kinesis Data Streams vs Firehose
1 min readApr 17, 2023
Kinesis Data Streams
- Must write custom code for producer and consumers.
- Real time (200ms latency for classic and 70ms latency for enhanced fan-out — i.e aggregating the shards).
- Must manage autoscaling via shard splitting / merging.
- Data storage for 1–365 days, able to replay data.
- KPL (Kinesis Producer Library) can produce information into either Data Streams or Firehose.
- If you require applications to Continuously read data in real time. Kinesis Data Streams would be a good use case.
- More detailed information can be found here: https://joshuajordancallis.medium.com/kinesis-data-streams-in-a-nutshell-b9330f6209b6
Firehose
- Fully managed service, to send data to a destination such as S3, Redshift etc.
- Near real-time.
- Automated Scaling.
- No data storage.
- Serverless.
- If all you need to do is send data to various destinations, Firehose would be a good use case.
- More detailed information can be found here: https://joshuajordancallis.medium.com/kinesis-data-firehose-b0963991c304