
Answer-first summary for fast verification
Answer: 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 Amazon DynamoDB. Other applications can consume the transactions data off the Kinesis data stream.
## Explanation **Option C is the correct answer** because it best meets all the requirements: ### Key Requirements Analysis: 1. **Scalable, near-real-time solution** - Kinesis Data Streams is designed for real-time streaming data processing at scale 2. **Millions of financial transactions** - Kinesis can handle high-volume streaming data 3. **Share with several other internal applications** - Multiple consumers can read from the same Kinesis stream simultaneously 4. **Process to remove sensitive data** - AWS Lambda integration allows real-time data transformation 5. **Store in document database for low-latency retrieval** - DynamoDB is a NoSQL document database with low-latency access ### Why Other Options Are Incorrect: **Option A**: - DynamoDB doesn't have built-in rules to remove sensitive data upon write - DynamoDB Streams are for change data capture, not for real-time data processing - Not scalable for millions of transactions in near-real-time **Option B**: - Kinesis Data Firehose is for batch delivery to destinations, not for real-time processing - Other applications would need to poll S3, which isn't near-real-time - Firehose is better for loading data into data lakes/warehouses **Option D**: - S3-based batch processing is not near-real-time - File-based processing introduces latency - Other applications would need to poll S3 for new files ### Architecture Flow (Option C): 1. Transactions → Kinesis Data Streams (real-time ingestion) 2. AWS Lambda processes each record to remove sensitive data 3. Cleaned data → DynamoDB (low-latency storage) 4. Multiple applications consume from Kinesis stream in real-time This architecture provides scalability, real-time processing, data transformation, and supports multiple consumers while maintaining low-latency access to processed data in DynamoDB.
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
No comments yet.
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?
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 Amazon DynamoDB. 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.