New Year Sale 2026! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Amazon-DEA-C01 Exam - Topic 4 Question 15 Discussion

Actual exam question for Amazon's Amazon-DEA-C01 exam
Question #: 15
Topic #: 4
[All Amazon-DEA-C01 Questions]

A company has a gaming application that stores data in Amazon DynamoDB tables. A data engineer needs to ingest the game data into an Amazon OpenSearch Service cluster. Data updates must occur in near real time.

Which solution will meet these requirements?

Show Suggested Answer Hide Answer
Suggested Answer: C

Problem Analysis:

The company uses DynamoDB for gaming data storage and needs to ingest data into Amazon OpenSearch Service in near real time.

Data updates must propagate quickly to OpenSearch for analytics or search purposes.

Key Considerations:

DynamoDB Streams provide near-real-time capture of table changes (inserts, updates, and deletes).

Integration with AWS Lambda allows seamless processing of these changes.

OpenSearch offers APIs for indexing and updating documents, which Lambda can invoke.

Solution Analysis:

Option A: Step Functions with Periodic Export

Not suitable for near-real-time updates; introduces significant latency.

Operationally complex to manage periodic exports and S3 data ingestion.

Option B: AWS Glue Job

AWS Glue is designed for ETL workloads but lacks real-time processing capabilities.

Option C: DynamoDB Streams + Lambda

DynamoDB Streams capture changes in near real time.

Lambda can process these streams and use the OpenSearch API to update the index.

This approach provides low latency and seamless integration with minimal operational overhead.

Option D: Custom OpenSearch Plugin

Writing a custom plugin adds complexity and is unnecessary with existing AWS integrations.

Implementation Steps:

Enable DynamoDB Streams for the relevant DynamoDB tables.

Create a Lambda function to process stream records:

Parse insert, update, and delete events.

Use OpenSearch APIs to index or update documents based on the event type.

Set up a trigger to invoke the Lambda function whenever there are changes in the DynamoDB Stream.

Monitor and log errors for debugging and operational health.


Amazon DynamoDB Streams Documentation

AWS Lambda and DynamoDB Integration

Amazon OpenSearch Service APIs

Contribute your Thoughts:

0/2000 characters
Veronika
2 months ago
A seems too slow for real-time needs.
upvoted 0 times
...
Francene
3 months ago
I think B could work too, but not as efficiently.
upvoted 0 times
...
Lino
3 months ago
C is the best choice for near real-time updates!
upvoted 0 times
...
Larue
3 months ago
Totally agree with C, it’s the most straightforward solution.
upvoted 0 times
...
Hester
3 months ago
Wait, a custom plugin? That sounds risky!
upvoted 0 times
...
Lenita
3 months ago
Using a cusLenita OpenSearch plugin seems complicated and not the best practice. I would avoid option D for sure.
upvoted 0 times
...
Chauncey
4 months ago
I think I saw a practice question similar to this, and it emphasized using Lambda with DynamoDB Streams. That makes me lean towards option C as well.
upvoted 0 times
...
Valentine
4 months ago
I'm not entirely sure, but I feel like AWS Glue jobs are more for batch processing. Option B might not meet the near real-time requirement.
upvoted 0 times
...
Ahmed
4 months ago
I remember studying about DynamoDB Streams and how they can be used for real-time data processing. I think option C sounds right.
upvoted 0 times
...
Shenika
4 months ago
Option C seems like the best fit for this scenario. The combination of DynamoDB Streams and a Lambda function is a well-established pattern for real-time data integration. It should be relatively easy to implement and maintain, and it should meet the near real-time requirement.
upvoted 0 times
...
Alise
4 months ago
This is a tricky one. I'm leaning towards option D, using a custom OpenSearch plugin to sync the data directly. That might be the most efficient approach, but it could also be more complex to set up and maintain. I'd need to weigh the pros and cons carefully.
upvoted 0 times
...
Kizzy
5 months ago
I think option C is the way to go here. Using DynamoDB Streams and a Lambda function is a common pattern for keeping data in sync between different systems. It should give you the near real-time updates you need, and it's a relatively straightforward implementation.
upvoted 0 times
...
Myong
5 months ago
Hmm, I'm a bit unsure about this one. I'm not super familiar with DynamoDB Streams, so I'm not sure if that's the best approach. Option B with AWS Glue might be a simpler solution, but I'd need to look into the capabilities of Glue to make sure it can handle the near real-time requirement.
upvoted 0 times
...
Anisha
5 months ago
This looks like a pretty straightforward data ingestion problem. I think I'd go with option C - using DynamoDB Streams and a Lambda function to update the OpenSearch cluster. That seems like the most direct way to get the data into OpenSearch in near real-time.
upvoted 0 times
...
Sharita
9 months ago
Haha, Erick is right on the money. Glue for near real-time updates? That's about as useful as a chocolate teapot!
upvoted 0 times
Beata
7 months ago
B: Yeah, that sounds like the best option for near real-time updates.
upvoted 0 times
...
Lacey
8 months ago
A: C) Use Amazon DynamoDB Streams to capture table changes. Use an AWS Lambda function to process and update the data in Amazon OpenSearch Service.
upvoted 0 times
...
...
Erick
9 months ago
Option B with AWS Glue? Really? That's like trying to put out a fire with gasoline. Definitely not the way to go here.
upvoted 0 times
Solange
7 months ago
D: I'm not so sure about that, using a custom OpenSearch plugin might introduce more complexity than necessary.
upvoted 0 times
...
Carey
7 months ago
C: Option A also seems viable, exporting data to S3 and then loading it into OpenSearch with Lambda could work well too.
upvoted 0 times
...
Novella
8 months ago
B: I agree, that solution would ensure near real-time data updates without any unnecessary complications.
upvoted 0 times
...
Martha
8 months ago
A: I think option C is the best choice. Using DynamoDB Streams with Lambda function seems like the most efficient way to update data in OpenSearch Service.
upvoted 0 times
...
...
Ellen
9 months ago
Hmm, I'm not sure I'm sold on Option C. Wouldn't a custom OpenSearch plugin (Option D) be more efficient and straightforward? Less moving parts, you know?
upvoted 0 times
Ruth
9 months ago
I see your point about Option D. A custom plugin could simplify the process and reduce potential points of failure.
upvoted 0 times
...
Xochitl
9 months ago
Option C sounds good to me. Using DynamoDB Streams with Lambda to update OpenSearch in near real time seems efficient.
upvoted 0 times
...
...
Hyman
10 months ago
Option A might work, but I think option C is more reliable for near real-time updates.
upvoted 0 times
...
Quentin
10 months ago
I'm not sure, but option A also sounds like a viable solution.
upvoted 0 times
...
Fabiola
10 months ago
I agree with Hyman, using DynamoDB Streams with Lambda seems like the most efficient way.
upvoted 0 times
...
Bronwyn
10 months ago
I agree with Gilberto, Option C seems like the best approach. Real-time data updates are a must, and this solution provides that without the need for additional data export/import steps.
upvoted 0 times
Huey
9 months ago
I agree, using DynamoDB Streams with a Lambda function to process and update data in OpenSearch in real time sounds like the most efficient solution.
upvoted 0 times
...
Tandra
9 months ago
I think using AWS Step Functions and Lambda to export data periodically to S3 and then load it into OpenSearch might be more complex than necessary.
upvoted 0 times
...
Bobbie
9 months ago
Option C seems like the best approach. Real-time data updates are a must, and this solution provides that without the need for additional data export/import steps.
upvoted 0 times
...
...
Hyman
10 months ago
I think option C is the best solution.
upvoted 0 times
...
Gilberto
10 months ago
Option C is the way to go! Leveraging DynamoDB Streams and a Lambda function to keep the OpenSearch Service in sync is the most elegant solution here.
upvoted 0 times
Paris
9 months ago
Yeah, DynamoDB Streams combined with a Lambda function is definitely the way to go for this scenario.
upvoted 0 times
...
Willard
9 months ago
I think that option C is the most efficient way to ensure near real-time data updates.
upvoted 0 times
...
Timmy
9 months ago
I agree, using DynamoDB Streams with a Lambda function sounds like the best approach.
upvoted 0 times
...
...

Save Cancel