AWS Certified Solutions Architect – Associate (SAA-C02) — Question 377
A company runs an online marketplace web application on AWS. The application serves hundreds of thousands of users during peak hours. The company needs a scalable, near-real-time solution to share the details of millions of financial transactions with several other internal applications. Transactions also need to be processed to remove sensitive data before being stored in a document database for low-latency retrieval.
What should a solutions architect recommend to meet these requirements?
Answer options
- A. Store the transactions data into Amazon DynamoDB. Set up a rule in DynamoDB to remove sensitive data from every transaction upon write. Use DynamoDB Streams to share the transactions data with other applications.
- B. Stream the transactions data into Amazon Kinesis Data Firehose to store data in Amazon DynamoDB and Amazon S3. Use AWS Lambda integration with Kinesis Data Firehose to remove sensitive data. Other applications can consume the data stored in Amazon S3.
- C. Stream the transactions data into Amazon Kinesis Data Streams. Use AWS Lambda integration to remove sensitive data from every transaction and then store the transactions data in AmazonDynamoDB. Other applications can consume the transactions data off the Kinesis data stream.
- D. Store the batched transactions data in Amazon S3 as files. Use AWS Lambda to process every file and remove sensitive data before updating the files in Amazon S3. The Lambda function then stores the data in Amazon DynamoDB. Other applications can consume transaction files stored in Amazon S3.
Correct answer: C
Explanation
Amazon Kinesis Data Streams is built for real-time streaming data ingestion and supports multiple concurrent consumers, allowing multiple internal applications to read the transaction data simultaneously. Using an AWS Lambda integration with the stream allows for near-real-time processing and sanitization of sensitive data before persisting it in Amazon DynamoDB, which provides the required low-latency retrieval. Other options are incorrect because Amazon S3-based batching is not near-real-time, and DynamoDB does not support native write-time data sanitization rules.