AWS Certified Big Data - Specialty: Tick-Bank Kinesis Data Stream Throughput Exceptions Solution

Tick-Bank Kinesis Data Stream Throughput Exceptions Solution

Question

Tick-Bank is a privately held Internet retailer of both physical and digital products founded in 2008

The company has more than six-million clients worldwide.

Tick-Bank aims to serve as a connection between digital content makers and affiliate dealers, who then promote them to clients.

Tick-Bank's technology aids in payments, tax calculations and a variety of customer service tasks.

Tick-Bank assists in building perceptibility and revenue making opportunities for entrepreneurs. Tick-Bank runs multiple java based web applications running on windows based EC2 machines in AWS managed by internal IT Java team, to serve various business functions.

Tick-Bank is looking to enable web-site traffic analytics thereby understanding user navigational behavior, preferences, and other click related info.

Tick-Bank uses event based streaming, based on Kinesis Stream to address data integration and uses producer library to integrate events. Tick-Bank has multiple kinesis data streams supporting various business processes and uses enhanced fan-out consumers to fulfill the processing of data.

Tick-Bank proposes KPL library to produce the data stream while KCL library to consume the data.

A lot of kinesis throughput exceptions are thrown.

Which of the following option can help us to resolve the issue?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer: A.

Option A is correct - Increase the read and write throughput of DynamoDB table pertaining to a specific kinesis application to prevent throughput exceptions.

Tracking Amazon Kinesis Data Streams Application State is managed by a DynamoDB table for each stream.

Besides For each Amazon Kinesis Data Streams application, the KCL uses a unique Amazon DynamoDB table to keep track of the application's state.

If the Amazon DynamoDB table for your Amazon Kinesis Data Streams application does not exist when the application starts up, one of the workers creates the table and calls the describeStream method to populate the table.

https://docs.aws.amazon.com/streams/latest/dev/kinesis-record-processor-ddb.html

Option B is incorrect - enhanced fan-out consumers is applied to provide a read rate of 2 MiB/sec per shard per consumer.

this helps provide consistent performance in the application but does not help with errors.

https://docs.aws.amazon.com/streams/latest/dev/kinesis-record-processor-ddb.html

Option C is incorrect - Frequent checkpointing is one of the root cause for kinesis throughput exception errors.

Option D is incorrect - shared fan-out consumers is applied to provide a maximum read rate of 2 MiB/sec per shard.

https://docs.aws.amazon.com/streams/latest/dev/kinesis-record-processor-ddb.html

Tick-Bank is facing throughput exceptions while using Kinesis data streams to support their business processes. In order to resolve this issue, let's analyze each option given.

Option A suggests increasing the read and write throughput of Kinesis Application's DynamoDB table. However, this option is not likely to help resolve the issue of throughput exceptions because DynamoDB is not the source of the problem. The problem is with Kinesis data streams, not with DynamoDB.

Option B suggests configuring Enhanced fan-out consumers to process the data. Enhanced fan-out consumers are used to scale the number of consumers, and they consume data from a Kinesis data stream at a much faster rate than standard consumers. This option can help to increase the processing rate of data, and thus, it can help resolve the issue of throughput exceptions.

Option C suggests frequent check-pointing on the stream that is composed of many shards. Check-pointing is used to keep track of the data that has been processed and to prevent data loss in the event of a failure. Frequent check-pointing can help to reduce the amount of data that needs to be processed in case of a failure, but it is not likely to help resolve the issue of throughput exceptions.

Option D suggests configuring Shared fan-out consumers to process the data. Shared fan-out consumers are used to share data among multiple consumers, and they consume data from a Kinesis data stream at a much faster rate than standard consumers. This option can help to increase the processing rate of data, but it may not be as effective as Enhanced fan-out consumers.

In conclusion, option B - configuring Enhanced fan-out consumers to process the data - is the most appropriate option to resolve the issue of throughput exceptions faced by Tick-Bank while using Kinesis data streams.