Courseiva
Data EngineeringhardMultiple ChoiceObjective-mapped

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

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.