MLS-C01 Data Engineering Practice Question
A retail company runs an e-commerce platform on AWS. They have a Data Engineering team that processes clickstream data using Amazon Kinesis Data Streams (KDS) with a shard count of 5. The data is consumed by an AWS Lambda function that transforms and loads the data into an Amazon S3 bucket partitioned by year/month/day/hour. Recently, the team has noticed that the Lambda function is experiencing throttling errors, and the KDS shard iterator age is increasing, indicating that the consumer cannot keep up with the incoming data rate. The team has already increased the Lambda reserved concurrency to 1000 and enabled batch window of 60 seconds. The metrics show that the Lambda function duration is well under the 5-minute timeout, and there are no errors in the transformation logic. The S3 write operations are not failing. Which course of action would MOST effectively resolve the issue without unnecessary cost or complexity?
⚠ Common exam trap
Candidates often assume increasing Lambda concurrency or batch window will solve throughput issues, but they fail to recognize that Kinesis shard count is the fundamental limiter of parallelism in the Lambda-Kinesis integration.
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 20 to increase the parallelism of Lambda consumers.
The core issue is that the Lambda consumer cannot keep up with the incoming data rate, as evidenced by the increasing shard iterator age. Increasing the shard count from 5 to 20 directly increases the number of Kinesis Data Streams shards, which in turn increases the number of concurrent Lambda invocations (one per shard) and the overall throughput of the stream. This addresses the bottleneck at the source without adding unnecessary complexity or cost, as KDS pricing is based on shard hours and Lambda concurrency is already set to 1000.
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 20 to increase the parallelism of Lambda consumers.
Why this is correct
More shards allow more concurrent Lambda invocations, improving throughput and reducing iterator age.
- ✗
Increase the Lambda reserved concurrency to 5000 to allow more parallel executions.
Why it's wrong here
Higher concurrency may not help if the shard count is the bottleneck; each shard limits the number of concurrent Lambda invocations.
- ✗
Increase the batch window to 300 seconds to accumulate more records per invocation and reduce the number of calls.
Why it's wrong here
Longer batch window increases latency and may not reduce backlog if the data arrival rate is high.
- ✗
Switch to using Amazon Kinesis Data Analytics with a larger instance type to process the stream.
Why it's wrong here
Kinesis Data Analytics is designed for performing real-time SQL-based analytics on streaming data, such as continuous queries or anomaly detection, not primarily for replacing a Lambda function that transforms and loads raw data into S3. Introducing KDA here would add unnecessary complexity and cost for a simple ETL task, as it doesn't directly address the Lambda's consumption bottleneck. It would be a suitable choice if the requirement was to perform complex, continuous real-time analysis or aggregations on the clickstream data directly from the stream.
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
Courseiva writes every MLS-C01 question from scratch — 1,672 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This MLS-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 MLS-C01 exam.