DEA-C01 Data Ingestion and Transformation Practice Question
A financial services company ingests real-time stock trade data using Amazon Kinesis Data Streams with 10 shards. Each shard receives about 500 records per second, each record approximately 1 KB. The data is consumed by a single AWS Lambda function that transforms the data and writes to Amazon S3. The Lambda function is configured with 1024 MB memory and a timeout of 5 minutes. The company notices that the Lambda function is frequently throttled, and data ingestion lags behind. The Lambda function's CloudWatch metrics show that the iterator age is increasing, and the function's concurrency is maxed out at 1000. The data engineer needs to resolve the throttling issue without changing the Lambda function code. What should the data engineer do?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Increase the number of shards in the Kinesis data stream to increase parallelism.
Increasing the number of shards increases the number of Kinesis Data Streams processing units, which directly increases the concurrency limit for Lambda consumers. With more shards, more Lambda function instances can process records in parallel, reducing the iterator age and alleviating throttling. Option B is wrong because reducing memory would likely degrade performance and not increase concurrency limit (concurrency limit is independent of memory). Option C is wrong because decreasing batch size increases the number of invocations, potentially worsening throttling and overhead. Option D is wrong because increasing memory may improve per-record processing speed, but the core issue is concurrency limit being maxed out; increasing memory does not increase concurrency limit and may not resolve throttling if CPU is not the bottleneck.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Increase the number of shards in the Kinesis data stream to increase parallelism.
Why this is correct
More shards allow more Lambda concurrent executions, reducing iterator age.
- ✗
Reduce the Lambda function memory to 512 MB to increase concurrency limit.
Why it's wrong here
Lower memory may slow down processing, and concurrency limit is not directly tied to memory.
- ✗
Decrease the batch size to 10 records to reduce processing time per invocation.
Why it's wrong here
Smaller batch size increases number of invocations, exacerbating concurrency issues.
- ✗
Increase the Lambda function memory to 2048 MB to improve processing speed.
Why it's wrong here
The bottleneck is concurrency, not processing speed; increasing memory may not solve throttling.
Visual reference
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
This DEA-C01 question is part of Courseiva's 1,711-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on DEA-C01
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A financial company needs to ingest real-time stock trade data from multiple sources and store it in Amazon S3 for compliance. The data must be delivered within 1 minute of the trade occurring. The data volume is approximately 10,000 records per second, with occasional spikes to 50,000 records per second. The engineer has set up Amazon Kinesis Data Streams with 10 shards and a Kinesis Data Firehose delivery stream that reads from the Kinesis stream and writes to S3. However, during spikes, the Firehose delivery stream falls behind, causing data to be delayed beyond the 1-minute SLA. What should the engineer do to meet the SLA without over-provisioning?
medium- A.Increase the buffer size in Kinesis Data Firehose from 1 MB to 5 MB to batch more data per delivery.
- B.Use Amazon SQS as a buffer between Kinesis and Firehose to absorb spikes.
- C.Replace Firehose with an AWS Lambda function that writes directly to S3 for lower latency.
- ✓ D.Increase the number of shards in the Kinesis data stream to handle peak throughput and enable auto-scaling.
Why D: Increasing the number of shards in the Kinesis data stream allows it to handle the peak throughput of 50,000 records per second, and enabling auto-scaling ensures the stream adapts to varying loads without manual intervention. This reduces the backlog that causes Firehose to fall behind, meeting the 1-minute SLA. Option A is incorrect because increasing the buffer size in Firehose would increase latency, not reduce it. Option B is incorrect because adding SQS as a buffer adds another hop, increasing latency and complexity. Option C is incorrect because AWS Lambda may not scale to 50,000 records per second and adds processing latency.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DEA-C01 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DEA-C01 exam.