Kinesis Data Streams Flashcards
Difference in the two KDS APIs (“PutRecord” and “PutRecords”), especially in relation to preserving order
PutRecord is used to send a single data record into your Kinesis data stream. You can preserve order within a shard by using the SequenceNumberForOrdering parameter.
PutRecords allows you to send multiple records to your Kinesis data stream in a single API call. While PutRecords can ensure that records are written to the correct shard, it doesn’t guarantee the order of records within the shard.
On-demand vs. Provisioned Capacity Mode for KDS
Provisioned capacity is what we are familiar with – you have to manually scale by adding shards at 1 MB/s write and 2 MB/s read capacity.
On-Demand Capacity scales automatically, with a default of 4 MB/s input. A data stream in the on-demand mode accommodates up to double the peak write throughput observed in the previous 30 days. The aggregate read capacity of a data stream with the on-demand mode increases proportionally to write throughput.
Two pricing dimensions for KDS
stream / hour
data in/out (in GB)