Data streams

  • collect and ingest data in real time data from 100s and 1000s of sources.
  • data can be retained for 365 days consumers can replay it
  • data can’t be deleted from kinesis until expiry
  • best practice is to send lot of small data, but kinesis lets you inject upto 1MB of data
  • data with same partition id is guaranteed to be in order
  • at rest KMS encryption, at flight HTTPS encryption

Write optimised Kinesis Application, use KPL - Kinesis Producer Library KCL - Kinesis Consumer Library

Producers

  • Kinesis Agent can be installed within the servers that serves as producers for metrics and logs
  • Applications can be configured to send records via PutRecord API

Consumers

Provisioned Mode

Shard - A shard is unrelated to other shard definition, is the base unit of throughput; Shards constitutes to overall throughput composition for YOUR aws kinesis data stream

🫰 Pay per shard provisioned per hour

A Shard’s throughput

  • write capacity - Support up to 1MB/s and 1000records/second (ie 1000 one KB records or one 1MB record at a time)
  • read capacity - scale up to 2MB/s

That is, if you are planning for 4MBs write throughput, you provision 4 shards

Configuration

Once the data stream is provisioned, it can be updated in the configuration pane (shards can be only doubled, ie from 1 to 2, not 3)

On Demand

  • Defaults at 4MB/s, scales automatically based on the observed throughput for the past 30days

🫰 Pay stream per hour & data in/out in GB