Servisphere
Amazon Data Firehose icon (AWS Architecture Icons)

Amazon Data Firehose

Load streams into data stores

Amazon Data Firehose (formerly Kinesis Data Firehose) receives streaming data and automatically batches, compresses, and transforms it, then delivers it to S3, Redshift, OpenSearch, Splunk, HTTP endpoints… in near real time.

  • Cost$ Low
  • Difficulty●●●●●
  • Costs money when idle?No
  • Serverless
  • In examsSAA · DVA · SOA

Scope: Regional

Open Data Firehose on the map →
Think of it asLike a conveyor belt that boxes up goods automatically and carries them straight into the warehouse.

When to use it

✓ Use it when

Loading logs and clickstreams into S3/Redshift/OpenSearch without writing consumers.

✗ Avoid it when

Need custom real-time processing or multiple consumers re-reading data → Kinesis Data Streams.

Common uses

  • Deliver app logs to S3 as Parquet
  • Push clickstreams into Redshift
  • Send logs to OpenSearch for search

What does it cost?

  • Pricing model: Charged per GB of data ingested, plus format conversion or VPC delivery fees if used.
⚠️ Cost traps

Each record is rounded up to a minimum size when calculating volume — very small records cost more than expected.

Reference prices for us-east-1, updated October 14, 2026; they may have changed. Always check the AWS pricing page.

💡 Exam tip

When the question says automatically load logs or clickstream into S3, Redshift or OpenSearch with no consumer code, near real-time, choose Data Firehose; for multiple consumers replaying the same data, low latency and custom processing, Kinesis Data Streams.

Frequently asked questions

How is Data Firehose different from Kinesis Data Streams?

Firehose is a delivery service: it receives a stream and automatically batches, compresses, transforms and delivers it to destinations like S3, Redshift, OpenSearch or Splunk, with no consumer code and automatic scaling, but it does not store data for replay. Data Streams keeps data so many consumers can read it again, allows custom processing and lower latency, but you write and manage the consumers.

Why is Firehose only near real-time?

Firehose buffers data by size or time before delivering it, so latency ranges from several seconds to tens of seconds or more. That is why "near real-time" or "deliver to S3" in a question points to Firehose, while "real-time, very low latency" points to Data Streams.

How does Firehose transform data and handle failures?

You can attach Lambda to transform each record, and convert the format to Parquet or ORC before writing to S3 so Athena queries are cheaper. Records that fail delivery are written to a backup S3 bucket for reprocessing. Sources can be direct API calls, agents, or reading from Kinesis Data Streams.

Related services

SAA-C03 study guide

Data Firehose is covered in these study modules:

Open Data Firehose on the map →