AWS Certified Big Data – Specialty — Question 2
A web-hosting company is building a web analytics tool to capture clickstream data from all of the websites hosted within its platform and to provide near-real-time business intelligence. This entire system is built on
AWS services. The web-hosting company is interested in using Amazon Kinesis to collect this data and perform sliding window analytics.
What is the most reliable and fault-tolerant technique to get each website to send data to Amazon Kinesis with every click?
Answer options
- A. After receiving a request, each web server sends it to Amazon Kinesis using the Amazon Kinesis PutRecord API. Use the sessionID as a partition key and set up a loop to retry until a success response is received.
- B. After receiving a request, each web server sends it to Amazon Kinesis using the Amazon Kinesis Producer Library .addRecords method.
- C. Each web server buffers the requests until the count reaches 500 and sends them to Amazon Kinesis using the Amazon Kinesis PutRecord API.
- D. After receiving a request, each web server sends it to Amazon Kinesis using the Amazon Kinesis PutRecord API. Use the exponential back-off algorithm for retries until a successful response is received.
Correct answer: A
Explanation
Option A is correct because it ensures that each request is sent to Amazon Kinesis with a retry mechanism until success, enhancing reliability. Option B is less reliable as it doesn't specify a retry mechanism. Option C introduces a delay by buffering requests, which could lead to data loss or increased latency. Option D, while it uses a retry mechanism, does not ensure immediate delivery of each click, making it less suitable than A.