AWS Kinesis Shard Calculation for Data Stream Processing

AWS Kinesis Shard Calculation

Prev Question Next Question

Question

You have a data stream of 4.5 MB of throughput and 4600 PUT records per second, how many shards will you need in Amazon Kinesis to process this data stream?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct answer: C.

Option A is incorrect because the maximum capabilities of a shard is a throughput capacity of 1MB data input and 1000 PUT records per second.

More information: https://aws.amazon.com/kinesis/data-streams/faqs/#:~:text=Shard%20is%20the%20base%20throughput,you%20create%20a%20data%20stream.

Option B is incorrect because you can only have complete units of shards.

Option C is CORRECT because with 5 shards you will have 5MB MB/sec of data input and 5000 PUT records per second.

With this you can cover the requirements.

Option D is incorrect because one shard is not enough to cover these requirements.

To calculate the number of shards required for a Kinesis stream, we need to consider the total throughput and the number of records per second.

Each shard in a Kinesis stream can handle up to a maximum of 1 MB of data per second or 1000 records per second (whichever limit is reached first).

So, the first step is to determine which limit is reached first for our data stream:

Throughput limit: 4.5 MB/sec ÷ 1 MB/sec per shard = 4.5 shards (rounded up to 5 shards)

Records per second limit: 4600 records/sec ÷ 1000 records/sec per shard = 4.6 shards (rounded up to 5 shards)

Since we need to round up to the nearest integer, we can see that we need a minimum of 5 shards to handle this data stream.

Therefore, the answer is C. 5.