Courseiva
Data EngineeringmediumMultiple ChoiceObjective-mapped

MLS-C01 Data Engineering Practice Question

A data engineering team needs to ingest streaming data from thousands of IoT devices into a data lake on Amazon S3 for near-real-time analytics. The data must be partitioned by device ID and timestamp, and the team must minimize data loss during ingestion failures. Which solution is MOST appropriate?

⚠ Common exam trap

Many exam-takers choose Option A (Lambda with Kinesis Data Streams) because they think it offers more control, but they overlook Firehose’s native dynamic partitioning and managed retry capabilities, which are more reliable and cost-effective for high-volume streaming ingestion to S3.

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 Amazon Kinesis Data Firehose to write directly to S3 with dynamic partitioning.

Amazon Kinesis Data Firehose with dynamic partitioning is the most appropriate solution because it natively supports partitioning incoming data by device ID and timestamp before writing to S3, and it provides built-in data buffering and retry logic to minimize data loss during ingestion failures. Unlike a Lambda-based approach, Firehose handles large-scale streaming ingestion without requiring custom code for partitioning or error handling, making it ideal for near-real-time analytics on IoT 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 Amazon Kinesis Data Streams with a Lambda function that writes to S3.

    Why it's wrong here

    Kinesis Data Streams requires custom consumer code and Lambda may introduce latency and data loss.

  • Use Amazon Kinesis Data Firehose to write directly to S3 with dynamic partitioning.

    Why this is correct

    Firehose provides automatic partitioning, retries, and near-real-time delivery to S3.

  • Use Amazon S3 Transfer Acceleration with direct uploads from devices.

    Why it's wrong here

    Transfer Acceleration improves upload speed but does not provide streaming ingestion or partitioning.

  • Use AWS Lambda to receive data via API Gateway and write to S3.

    Why it's wrong here

    Lambda has a maximum execution time of 15 minutes and is not designed for sustained high-throughput streaming.

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

This MLS-C01 question is part of Courseiva's 1,672-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam 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.