DAS-C01 · Question #92
A company needs to store objects containing log data in JSON format. The objects are generated by eight applications running in AWS. Six of the applications generate a total of 500 KiB of data per…
The correct answer is A. Configure an Amazon Kinesis Data Firehose delivery stream for each application. Amazon Kinesis Data Firehose (now Amazon Data Firehose) is purpose-built for this pattern: it ingests streaming data, optionally invokes an AWS Lambda function for transformation (reformatting and CSV conversion), applies compression (GZIP, Snappy, etc.) natively, and delivers…
Question
A company needs to store objects containing log data in JSON format. The objects are generated by eight applications running in AWS. Six of the applications generate a total of 500 KiB of data per second, and two of the applications can generate up to 2 MiB of data per second. A data engineer wants to implement a scalable solution to capture and store usage data in an Amazon S3 bucket. The usage data objects need to be reformatted, converted to .csv format, and then compressed before they are stored in Amazon S3. The company requires the solution to include the least custom code possible and has authorized the data engineer to request a service quota increase if needed. Which solution meets these requirements?
Options
- AConfigure an Amazon Kinesis Data Firehose delivery stream for each application.
- BConfigure an Amazon Kinesis data stream with one shard per application.
- CConfigure an Amazon Kinesis data stream for each application.
- DStore usage data objects in an Amazon DynamoDB table.
How the community answered
(43 responses)- A81% (35)
- B7% (3)
- C2% (1)
- D9% (4)
Explanation
Amazon Kinesis Data Firehose (now Amazon Data Firehose) is purpose-built for this pattern: it ingests streaming data, optionally invokes an AWS Lambda function for transformation (reformatting and CSV conversion), applies compression (GZIP, Snappy, etc.) natively, and delivers directly to S3. Creating one delivery stream per application isolates each source and allows independent scaling. The service is fully managed and requires almost no custom code beyond the optional small Lambda transform. Kinesis Data Streams (options B and C) requires you to build and operate consumer applications, adding significant custom code. DynamoDB (option D) is not a streaming ingestion or S3 delivery service.
Topics
Community Discussion
No community discussion yet for this question.