- A
Enable DynamoDB Streams and use a second Lambda to deduplicate.
Why wrong: Introduces complexity and eventual consistency.
- B
Use DynamoDB TransactWriteItems with a condition check on a unique transaction ID.
Condition check ensures only one write succeeds per unique ID.
- C
Use the Kinesis Client Library (KCL) to checkpoint after processing and ignore duplicates.
Why wrong: Checkpointing does not prevent duplicates from being written.
- D
Ensure the Lambda function is idempotent by using upsert operations.
Why wrong: Idempotency alone may not prevent duplicates if multiple writes are attempted.
DEA-C01 Data Store Management Practice Question
This DEA-C01 practice question tests your understanding of data store management. Match the stated requirement to the specific cloud service, access model, or configuration option — many options are valid in isolation but not for this scenario. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A data engineering team is building a real-time analytics pipeline using Amazon Kinesis Data Streams, AWS Lambda, and Amazon DynamoDB. The Lambda function consumes records from the stream and writes aggregated data to a DynamoDB table. The application requires that each record be processed exactly once to avoid duplicates. The Lambda function is idempotent, but occasionally duplicate records are written due to retries from Kinesis. The team needs to ensure exactly-once semantics for DynamoDB writes. Which solution should they implement?
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 TransactWriteItems with a condition check on a unique transaction ID.
Option B is correct because DynamoDB TransactWriteItems with a condition check on a unique transaction ID ensures that the write only succeeds if the transaction ID does not already exist in the table. This provides exactly-once semantics by preventing duplicate writes even when Kinesis retries deliver the same record multiple times. The condition check acts as a distributed lock at the item level, guaranteeing idempotency without relying on downstream deduplication.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Enable DynamoDB Streams and use a second Lambda to deduplicate.
Why it's wrong here
Introduces complexity and eventual consistency.
- ✓
Use DynamoDB TransactWriteItems with a condition check on a unique transaction ID.
Why this is correct
Condition check ensures only one write succeeds per unique ID.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Use the Kinesis Client Library (KCL) to checkpoint after processing and ignore duplicates.
Why it's wrong here
Checkpointing does not prevent duplicates from being written.
- ✗
Ensure the Lambda function is idempotent by using upsert operations.
Why it's wrong here
Idempotency alone may not prevent duplicates if multiple writes are attempted.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often assume idempotent Lambda functions alone guarantee exactly-once processing, but they overlook that Kinesis retries can still cause duplicate writes unless a conditional write with a unique identifier is used at the database level.
Detailed technical explanation
How to think about this question
Under the hood, DynamoDB TransactWriteItems uses a client-side token (idempotency token) to ensure that the same transaction is not applied more than once, even if the request is retried. The condition expression on a unique transaction ID (e.g., 'attribute_not_exists(transactionId)') leverages DynamoDB's conditional writes, which are atomic and serializable. In a real-world scenario, this pattern is critical for financial transactions or inventory systems where duplicate writes could lead to double-counting or inconsistent state.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A cloud solutions architect for a retail company is evaluating services for a new workload. The correct answer here reflects best practice for the specific scenario described — not a general cloud recommendation. Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option. Cloud exam questions reward reading the constraint carefully: the same technology can be right or wrong depending on the use case.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Data Store Management — study guide chapter
Learn the concepts, then practise the questions
- →
Data Store Management practice questions
Targeted practice on this topic area only
- →
All DEA-C01 questions
1,786 questions across all exam domains
- →
AWS Certified Data Engineer Associate DEA-C01 study guide
Full concept coverage aligned to exam objectives
- →
DEA-C01 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related DEA-C01 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Data Ingestion and Transformation practice questions
Practise DEA-C01 questions linked to Data Ingestion and Transformation.
Data Operations and Support practice questions
Practise DEA-C01 questions linked to Data Operations and Support.
Data Security and Governance practice questions
Practise DEA-C01 questions linked to Data Security and Governance.
Data Store Management practice questions
Practise DEA-C01 questions linked to Data Store Management.
DEA-C01 fundamentals practice questions
Practise DEA-C01 questions linked to DEA-C01 fundamentals.
DEA-C01 scenario practice questions
Practise DEA-C01 questions linked to DEA-C01 scenario.
DEA-C01 troubleshooting practice questions
Practise DEA-C01 questions linked to DEA-C01 troubleshooting.
Practice this exam
Start a free DEA-C01 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this DEA-C01 question test?
Data Store Management — This question tests Data Store Management — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Use DynamoDB TransactWriteItems with a condition check on a unique transaction ID. — Option B is correct because DynamoDB TransactWriteItems with a condition check on a unique transaction ID ensures that the write only succeeds if the transaction ID does not already exist in the table. This provides exactly-once semantics by preventing duplicate writes even when Kinesis retries deliver the same record multiple times. The condition check acts as a distributed lock at the item level, guaranteeing idempotency without relying on downstream deduplication.
What should I do if I get this DEA-C01 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Keep practising
More DEA-C01 practice questions
- A data pipeline uses Kinesis Data Firehose to deliver streaming data to an S3 bucket. The data volume spikes occasionall…
- An e-commerce company uses AWS Glue to run ETL jobs that transform clickstream data from Amazon S3. The job reads Parque…
- A data engineering team uses Amazon Kinesis Data Analytics for Apache Flink to process streaming data. They notice that…
- A company uses AWS Glue to process streaming data from Amazon Kinesis Data Streams. The job reads JSON records and write…
- A data engineer is designing a serverless data ingestion pipeline that uses Amazon Kinesis Data Firehose to deliver data…
- A company runs a nightly AWS Glue ETL job that reads from a JDBC source (PostgreSQL) and writes to S3 in Parquet format.…
Last reviewed: Jun 24, 2026
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.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.