Courseiva
Data EngineeringmediumMultiple ChoiceObjective-mapped

MLS-C01 Data Engineering Practice Question

A company is streaming real-time sensor data from IoT devices to Amazon Kinesis Data Streams. The data is then consumed by an AWS Lambda function that enriches the records with metadata from an Amazon DynamoDB table and writes the results to an Amazon S3 bucket. Recently, the Lambda function has been failing with 'ProvisionedThroughputExceededException' errors from DynamoDB. The data volume is variable, with occasional bursts. Which solution should a data engineer implement to resolve this issue without losing data?

⚠ Common exam trap

Watch out — candidates often confuse buffering the Lambda invocation (Option B) with addressing the DynamoDB throttling error, but the error occurs inside the Lambda function after invocation, so an SQS queue does not solve the read capacity issue.

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

Enable DynamoDB auto scaling for the table to automatically adjust read capacity based on demand.

DynamoDB auto scaling dynamically adjusts the table's provisioned read capacity based on actual traffic patterns, handling bursty sensor data without manual intervention. This prevents ProvisionedThroughputExceededExceptions while ensuring no data loss, as the Lambda function can retry failed operations. Auto scaling is the most cost-effective and operationally efficient solution for variable workloads.

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 DynamoDB table's provisioned read capacity units to a high static value.

    Why it's wrong here

    Static high capacity is costly and may still be exceeded during extreme bursts.

  • Use an Amazon SQS queue to buffer the Lambda requests before querying DynamoDB.

    Why it's wrong here

    Buffering with SQS adds latency and does not prevent DynamoDB throttling if the requests are still bursty.

  • Enable DynamoDB auto scaling for the table to automatically adjust read capacity based on demand.

    Why this is correct

    Auto scaling adjusts capacity dynamically to handle bursts without manual intervention.

  • Configure an Amazon SNS topic to throttle the data stream before it reaches Lambda.

    Why it's wrong here

    SNS is for pub/sub messaging, not for throttling or buffering data streams.

Visual reference

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

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 →

How Courseiva writes practice questions · Editorial policy

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.