Use case: Kinesis Data Streams vs Kinesis Data Firehose

Nazreen Mohamad
AWS Architech
Published in
3 min readMay 18, 2021

--

This is a post on the the use case differences between Amazon Kinesis Data Streams & Kinesis Data Firehose.

Plot twist: they aren’t strictly mutually exclusive.

Let’s get to it.

The Kinesis family of services

Amazon Kinesis is the name of the set of services that AWS offers to help in collecting, processing and analyse data streams in real time. They’re suitable for big data and IoT situations.

Kinesis Data Streams and Kinesis Data Firehose are both services that are in the Kinesis set of services. Another member of the Kinesis family of services is Kinesis Data Analytics, which will not be covered in this post.

Data Streams vs Firehose

Kinesis Data Streams focuses on ingesting and storing data streams.

Kinesis Data Firehose focuses on delivering data streams to select destinations.

Both can ingest data streams but the deciding factor in which to use depends on where your streamed data should go to.

If you already have a data lake or data store (e.g. S3, RedShift, ElasticSearch)where you want your data stream to be delivered to, Kinesis Data Firehose might be for you. Firehose has been built to remove the admin work that comes with delivering data streams. Do note that data latency for Firehose is 60 seconds or higher.

--

--