Courseiva
Data EngineeringmediumMultiple ChoiceObjective-mapped

MLS-C01 Data Engineering Practice Question

A company uses Kinesis Data Streams to ingest real-time sensor data. The data is consumed by a Lambda function that writes to DynamoDB. During peak hours, the Lambda function throws ProvisionedThroughputExceededException. The team wants to decouple the write operation and improve resilience. What should they do?

⚠ Common exam trap

Watch out — candidates often assume adding a queue (SQS) is the standard decoupling pattern, but in this context, Kinesis Firehose is purpose-built for stream ingestion with built-in error handling and Lambda integration, making it a more direct and efficient solution than introducing an additional queue layer.

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

Use Kinesis Firehose as a consumer of the stream, with a Lambda transformation to write to DynamoDB, and enable error handling.

Kinesis Firehose can consume data from a Kinesis Data Stream and invoke a Lambda function for transformation before delivering to destinations like DynamoDB. By using Firehose with error handling, the team decouples the write operation from the Lambda consumer, allowing Firehose to buffer data and retry failed writes, which improves resilience against ProvisionedThroughputExceededException without losing data.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Use Kinesis Firehose as a consumer of the stream, with a Lambda transformation to write to DynamoDB, and enable error handling.

    Why this is correct

    Firehose buffers data, retries on failures, and decouples the producer from DynamoDB writes.

  • Increase the Lambda function's reserved concurrency and provision more DynamoDB write capacity.

    Why it's wrong here

    Increasing capacity may help temporarily but does not decouple the system; throttling can still occur.

  • Place the Lambda function's output into an Amazon SQS queue, and have a second Lambda function write to DynamoDB.

    Why it's wrong here

    SQS is not directly integrated with Kinesis; additional components increase complexity.

  • Use Kinesis Data Analytics to process the stream and write results directly to DynamoDB.

    Why it's wrong here

    Kinesis Data Analytics does not have a built-in DynamoDB sink; it can output to Firehose or Lambda.

Quick reference

Cloud Service Model Comparison

ModelYou ManageProvider ManagesExamples
IaaSOS, runtime, apps, dataHardware, hypervisor, networkingEC2, Azure VMs, GCP Compute Engine
PaaSApps and dataOS, runtime, middleware, hardwareElastic Beanstalk, Azure App Service
SaaSData and settings onlyEverything elseMicrosoft 365, Salesforce, Workday
FaaS / ServerlessFunction code onlyInfra, scaling, runtimeLambda, Azure Functions, Cloud Run
CaaSContainers and appsKubernetes, OS, hardwareEKS, AKS, GKE

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 →

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.