Q11 — AWS SAA-C03 Ch.6
Question 11 of 65 | ← Chapter 6
Q376. A gaming company uses Amazon DynamoDB to store user information such as geographic location, player data, and leaderboards. The company needs to configure continuous backups to an Amazon S3 bucket with a minimal amount of coding. The backups must not affect availability of the application and must not affect the read capacity units (RCUs) that are defined for the table.Which solution meets these requirements?
- A. Use an Amazon EMR cluster. Create an Apache Hive job to back up the data to Amazon S3
- B. Export the data directly from DynamoDB to Amazon S3 with continuous backups. Turn on point-in-time recovery for the table
- C. Configure Amazon DynamoDB Streams. Create an AWS Lambda function to consume the stream and export the data to an Amazon S3 bucket ✓
- D. Create an AWS Lambda function to export the data from the database tables to Amazon S3 on a regular basis. Turn on point-in-time recovery for the table
Correct Answer: C. Configure Amazon DynamoDB Streams. Create an AWS Lambda function to consume the stream and export the data to an Amazon S3 bucket
Explanation
The solution that meets the requirements of configuring continuous backups to an Amazon S3 bucket with a minimal amount of coding, without affecting availability or read capacity units (RCUs) for the table, is option C: Configure Amazon DynamoDB Streams and create an AWS Lambda function to consume the stream and export the data to an Amazon S3 bucket.Amazon DynamoDB Streams provides a time-ordered sequence of item-level modifications in a DynamoDB table. By configuring DynamoDB Streams, you can capture changes made to the table and trigger actions based those changes. In this case, you can configure a stream on the table storing user information.You can then create an AWS Lambda function that consumes the stream and exports the data to Amazon S3 bucket. The Lambda function can be triggered whenever there are new changes in the DynamoDB table. This approach allows you continuously back up the data to S3 without impacting the availability of the application or the RCUs defined for the table.Option A (using Amazon EMR cluster and Apache Hive job) and Option D (creating an AWS Lambda function to export data a regular basis) both involve more manual coding and scheduling compared to using DynamoDB Streams and Lambda function. These options may also introduce additional complexity and potential impact on the application's availability and RCUs. Option B (exporting data directly from DynamoDB to S3 with continuous backups and turning on point-in- time recovery) does provide continuous backups, but requires enabling point-in-time recovery, which may have an impact on the availability and RCUs of the table. Additionally, it does not mention the minimal amount of coding requirement specified in the question.