MLS-C01 Data Engineering Practice Question
A company uses Amazon DynamoDB as the primary data store for a real-time application. The data science team wants to analyze the data using Amazon Athena. What is the most efficient way to make the DynamoDB data available for Athena queries?
⚠ Common exam trap
Candidates often assume scheduled batch extraction (Option A) is sufficient for real-time analysis, overlooking the efficiency of streaming-based incremental updates that avoid full table scans and reduce costs.
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 DynamoDB Streams to invoke an AWS Lambda function that writes data to Amazon S3 in Parquet format. Then query the data in S3 using Athena.
DynamoDB Streams captures real-time changes, and an AWS Lambda function can efficiently write these changes to Amazon S3 in Parquet format, which is optimized for columnar storage and Athena queries. This approach minimizes the overhead of scheduled batch jobs and provides near-real-time data availability for analytics.
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 AWS Glue to extract data from DynamoDB and load into S3 on a schedule.
Why it's wrong here
Glue batch jobs add latency and are not real-time.
- ✗
Use Amazon Redshift Spectrum to query DynamoDB directly.
Why it's wrong here
Redshift Spectrum queries data in S3, not DynamoDB.
- ✓
Use DynamoDB Streams to invoke an AWS Lambda function that writes data to Amazon S3 in Parquet format. Then query the data in S3 using Athena.
Why this is correct
This provides a decoupled, cost-effective solution for analytics.
- ✗
Use Amazon EMR to read directly from DynamoDB and run Hive queries.
Why it's wrong here
Running Hive queries via Amazon EMR introduces significant operational overhead and latency compared to the serverless architecture of Athena. This approach requires managing clusters and compute resources rather than querying data directly in S3. You would use EMR if you require fine-grained control over the Spark or Hadoop configurations for complex, long-running big data transformations that exceed the capabilities of a managed query engine.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
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 →
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.