MLS-C01 Data Engineering Practice Question
A large e-commerce company is using Amazon DynamoDB as the source for real-time analytics. The data is streamed to Amazon Kinesis Data Streams using DynamoDB Streams and then processed by an AWS Lambda function. The Lambda function writes the data to an Amazon Elasticsearch Service cluster for search and visualization. Recently, the Lambda function has been failing with throttling errors from the Elasticsearch cluster. What is the MOST effective way to handle this?
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
✓
Configure a Dead Letter Queue (DLQ) on the Lambda function to capture failed records and implement retry logic.
Using a Dead Letter Queue (DLQ) allows the Lambda function to capture records that fail due to Elasticsearch throttling, so they can be retried later without blocking the function's processing of other records. This prevents data loss and handles backpressure effectively. Option A is incorrect because increasing Lambda concurrency would increase the rate of writes to the Elasticsearch cluster, worsening the throttling. Option B is incorrect because increasing Kinesis shards would increase the throughput of data arriving at the Lambda function, again exacerbating the throttling. Option C is incorrect because decreasing the Kinesis retention period does not reduce the data volume; it only changes how long data is stored in the stream, and it would not solve the throttling issue.
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's reserved concurrency to handle more invocations.
Why it's wrong here
More concurrency would increase the load on Elasticsearch, worsening throttling.
- ✗
Increase the number of shards in the Kinesis data stream.
Why it's wrong here
More shards increase Lambda invocations, not solve Elasticsearch throttling.
- ✗
Decrease the Kinesis stream's retention period to reduce the data volume.
Why it's wrong here
Retention period does not affect data volume ingested per second.
- ✓
Configure a Dead Letter Queue (DLQ) on the Lambda function to capture failed records and implement retry logic.
Why this is correct
DLQ captures records that fail due to throttling, allowing later reprocessing without blocking the stream.
Quick reference
Cloud Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, runtime, apps, data | Hardware, hypervisor, networking | EC2, Azure VMs, GCP Compute Engine |
| PaaS | Apps and data | OS, runtime, middleware, hardware | Elastic Beanstalk, Azure App Service |
| SaaS | Data and settings only | Everything else | Microsoft 365, Salesforce, Workday |
| FaaS / Serverless | Function code only | Infra, scaling, runtime | Lambda, Azure Functions, Cloud Run |
| CaaS | Containers and apps | Kubernetes, OS, hardware | EKS, AKS, GKE |
Go deeper
Related to this question
About these practice questions
This MLS-C01 question is part of Courseiva's 1,672-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 →
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.