Courseiva
Data Ingestion and TransformationhardMultiple SelectObjective-mapped

Scaling Shards and Enhancing Consumer Performance in Kinesis Data Streams for AWS Data Engineer Associate

A company runs a real-time analytics platform using Amazon Kinesis Data Streams. The data is consumed by multiple consumers: one for real-time dashboard (using Lambda) and one for long-term storage (using Firehose to S3). The Kinesis stream has 10 shards. Each record is 1 KB, and the total incoming data rate is 5 MB/s. The Lambda consumer is falling behind and processing latency exceeds 10 seconds. Which TWO actions should be taken to resolve the issue?

Quick Answer

The answer is to increase the number of shards to 20 and enable enhanced fan-out for the Lambda consumer. Increasing shards from 10 to 20 doubles the stream’s write and read throughput from 5 MB/s to 10 MB/s, directly addressing the Lambda consumer’s processing lag. Enhanced fan-out then provides each consumer—Lambda for the dashboard and Firehose for storage—with its own dedicated 2 MB/s read throughput per shard, eliminating the contention that occurs when multiple consumers share the default 5 transactions per second per shard. On the AWS Certified Data Engineer Associate exam, this scenario tests your understanding of Kinesis shard scaling and consumer performance trade-offs, often trapping candidates who overlook that Lambda’s default polling shares throughput with Firehose. Remember the mnemonic “Double the shards, fan out the load” to recall that scaling shards boosts total capacity while enhanced fan-out isolates consumer performance.

⚠ Common exam trap

Candidates often assume increasing Lambda resources (memory) or reducing batch size will fix processing lag, when the root cause is a shared read throughput bottleneck between multiple consumers on the same Kinesis stream.

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 to 20

Increasing the number of shards from 10 to 20 doubles the stream's read capacity, allowing the Lambda consumer to poll more data per second and reduce backlog. Option C is correct because enabling enhanced fan-out provides each consumer with a dedicated 2 MB/s read throughput per shard, eliminating contention between the Lambda consumer and the Firehose consumer, which is critical when multiple consumers read from the same stream.

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 memory allocation

    Why it's wrong here

    More memory may speed up processing but the bottleneck is the shard throughput limit.

  • Increase the number of shards to 20

    Why this is correct

    More shards increase the total throughput of the stream, allowing Lambda to process more data in parallel.

  • Enable enhanced fan-out for the Lambda consumer

    Why this is correct

    Enhanced fan-out provides dedicated read throughput per consumer, eliminating throttling from other consumers.

  • Switch to using Kinesis Client Library (KCL) instead of Lambda

    Why it's wrong here

    Lambda already uses KCL under the hood; this would not solve the throughput issue.

  • Decrease the batch size in the Lambda event source mapping

    Why it's wrong here

    Smaller batch sizes increase the number of Lambda invocations, adding overhead.

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

One of 1,711 original DEA-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

Same concept, more angles

1 more way this is tested on DEA-C01

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. A real-time analytics application uses Amazon Kinesis Data Streams. The consumer application falls behind, causing increased latency. Which action would MOST effectively improve throughput?

medium
  • A.Reduce the RecordMaxBufferedTime parameter in the Firehose delivery stream.
  • B.Increase the number of shards in the data stream.
  • C.Increase the batch size in the Kinesis Producer Library.
  • D.Use enhanced fan-out to dedicate a shard per consumer.

Why B: Increasing the number of shards in the Kinesis Data Stream directly increases the stream's read capacity (each shard supports up to 2 MB/s read and 5 transactions per second for shared throughput). This allows the consumer application to process more data in parallel, reducing the backlog and latency. The question specifies a consumer application falling behind, which is a read-throughput bottleneck, and scaling shards is the most effective way to address it.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DEA-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 DEA-C01 exam.