Clarifying and using your kinesis data
Are you mystified by Firehose and Streams? Read on and check out our infographic to learn about their key differences.
Within the AWS ecosystem, Amazon Kinesis offers real-time data processing over large data streams, making it an essential tool for developers working with real-time apps that pull data from several sources. Kinesis offers two options for data stream processing, each designed for users with different needs: Streams and Firehose.
- Kinesis streams. The more customizable option, Streams is best suited for developers building custom applications or streaming data for specialized needs. The customizability of the approach, however, requires manual scaling and provisioning. Data typically is made available in a stream for 24 hours, but for an additional cost, users can gain data availability for up to seven days.
- Kineses firehose. The simpler approach, Firehose handles loading data streams directly into AWS products for processing. Scaling is handled automatically, up to gigabytes per second, and allows for batching, encrypting, and compressing. Firehose also allows for streaming to S3, Elasticsearch Service, or Redshift, where data can be copied for processing through additional services.
Kinesis Streams and Kinesis Firehose both allow data to be loaded using HTTPS, the Kinesis Producer Library, the Kinesis Client Library, and the Kinesis Agent. Both services also allow for monitoring through Amazon Cloudwatch and through Kinesis Analytics, a service that allows users to create and run SQL queries on streaming data and send it to third-party analytics tools.