MLS-C01 Data Engineering Practice Question
A company is building a data pipeline to process streaming data from IoT devices. The data is ingested via Amazon Kinesis Data Streams. Each record is about 1 KB. The company wants to use AWS Lambda for real-time transformations and then store the results in Amazon DynamoDB. The expected throughput is 10,000 records per second. The Lambda function currently runs in about 200 ms. The company is concerned about Lambda concurrency limits and wants to ensure there are no throttling errors. The default concurrency limit for Lambda is 1,000. Which approach should the team take to handle the expected throughput without throttling?
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 10 and set the Lambda batch size to 100.
Increasing the number of shards to 10 ensures that the Kinesis stream can support up to 10 concurrent Lambda invocations (one per shard). With a batch size of 100, each invocation processes 100 records, resulting in 100 invocations per second (10,000 records / 100 per batch). At 200 ms per invocation, the required concurrency is 100 * 0.2 = 20, well within the default 1,000 concurrency limit. Option A is incorrect because reducing the batch size to 10 would increase invocations to 1,000 per second, requiring 200 concurrent executions, which still fits but is less efficient; the main issue is that reducing batch size does not reduce throttling risk as it increases invocation rate. Option B is incorrect because Kinesis Data Firehose does not natively support Lambda for per-record transformations before writing to DynamoDB; it primarily targets S3, Redshift, or Elasticsearch. Option C is incorrect because increasing Lambda memory typically reduces execution time but does not lower concurrency requirements; moreover, 3,000 MB may not reduce time below 100 ms enough to avoid throttling at high throughput.
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 Lambda function memory to 3,000 MB to reduce the execution time below 100 ms.
Why it's wrong here
Memory increase may reduce time but not enough to avoid throttling at high invocation rates.
- ✗
Use Amazon Kinesis Data Firehose instead of Lambda to load data directly into DynamoDB.
Why it's wrong here
Kinesis Data Firehose does not support DynamoDB as a destination.
- ✗
Reduce the Lambda batch size to 10 so that each invocation processes fewer records, reducing the time per invocation.
Why it's wrong here
This increases invocations per second to 1,000, which would exceed the concurrency limit of 1,000 if each takes 200 ms.
- ✓
Increase the number of shards in the Kinesis Data Stream to 10 and set the Lambda batch size to 100.
Why this is correct
With 10 shards and batch size 100, at most 10 concurrent Lambda invocations, well within limits.
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
One of 1,672 original MLS-C01 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. 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.