AWS Certified Developer – Associate — Question 163
In a move toward using microservices, a company's management team has asked all development teams to build their services so that API requests depend only on that service's data store. One team is building a Payments service which has its own database; the service needs data that originates in the Accounts database. Both are using Amazon DynamoDB.
What approach will result in the simplest, decoupled, and reliable method to get near-real time updates from the Accounts database?
Answer options
- A. Use Amazon Glue to perform frequent ETL updates from the Accounts database to the Payments database.
- B. Use Amazon ElastiCache in Payments, with the cache updated by triggers in the Accounts database.
- C. Use Amazon Kinesis Data Firehose to deliver all changes from the Accounts database to the Payments database.
- D. Use Amazon DynamoDB Streams to deliver all changes from the Accounts database to the Payments database.
Correct answer: D
Explanation
The correct answer is D because Amazon DynamoDB Streams provides a reliable, near-real time mechanism to capture item-level changes in the Accounts database and propagate them to the Payments service seamlessly. Options A and C involve additional complexity and potential latency due to ETL processes or delivery mechanisms, while option B introduces a cache that may not reflect real-time changes, making it less reliable for immediate data consistency.