Courseiva
Data EngineeringhardMultiple ChoiceObjective-mapped

MLS-C01 Data Engineering Practice Question

You are a data engineer at a fintech company. The company processes real-time stock market data from multiple exchanges. The data is ingested via Amazon Kinesis Data Streams with 50 shards. Each record is about 1 KB, and the ingestion rate is 5,000 records per second. The data is consumed by a Java application running on Amazon ECS that performs real-time analytics and stores results in Amazon DynamoDB. Recently, the application has been experiencing high latency, and some records are stuck in the shards for minutes before being consumed. The CloudWatch metrics show that the application's CPU utilization is low, but the iterator age is increasing. The application uses the Kinesis Client Library (KCL) with a single worker. What is the most likely cause and how should it be fixed?

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

Scale the number of KCL workers to match the number of shards (e.g., 50 workers) to process shards in parallel.

A single KCL worker processes all shards sequentially, causing high iterator age with 50 shards. Scaling to 50 workers (one per shard) enables parallel processing, reducing latency. Option A is incorrect because 50 shards provide up to 50 MB/s write capacity, far exceeding the actual ~5 MB/s (5000 records/sec * 1 KB). Option B is incorrect because CPU utilization is low, indicating the bottleneck is not compute but parallelization. Option C is incorrect because DynamoDB write latency is not the issue; the problem is ingestion-side processing delay.

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 to 200 to provide more throughput.

    Why it's wrong here

    The ingestion rate is low; more shards will not reduce iterator age if the consumer is the bottleneck.

  • Increase the CPU capacity of the ECS task by moving to a larger instance type.

    Why it's wrong here

    CPU utilization is low, so CPU is not the bottleneck.

  • Move the destination from DynamoDB to Amazon RDS to reduce write latency.

    Why it's wrong here

    The destination is not the bottleneck; the issue is processing capacity.

  • Scale the number of KCL workers to match the number of shards (e.g., 50 workers) to process shards in parallel.

    Why this is correct

    A single worker can only process one shard at a time; with 50 shards, records in other shards wait. Multiple workers can process shards concurrently, reducing latency.

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.