MemberJune 1, 2021 at 12:43 am
Hello, I need help with the following question in TurorialDojo AWS SAP practice tests. But the answer that is provided doesn’t seem right to me. Can someone please help me identify the correct answers (or if the question is incorrect)?
A tech startup is planning to launch a new global mobile marketplace using AWS Amplify and AWS Mobile Hub. To lower the latency, the backend APIs will be launched to multiple AWS regions to process the sales and financial transactions on the region closest to the users. You are instructed to design the system architecture to ensure that the transactions made in one region are automatically replicated to other regions. In the coming months ahead, it is expected that the marketplace will have millions of users across North America, South America, Europe, and Asia.
Which of the following is the most scalable, cost-effective and highly available architecture that you should implement?
A. Create an Amazon Aurora Multi-Master database on all required regions. Store the individual transactions to the Amazon Aurora instance in the local region. Replicate the transactions table between regions using Aurora replication. In this set up, any changes made in one of the tables will be automatically replicated across all other tables.
B. In each local region, store the individual transactions to a DynamoDB table. Set up an AWS Lambda function to read recent writes from the table, and replay the data to DynamoDB tables in all other regions.
C. Use a combination of AWS Control Tower and Amazon Connect to launch and centrally manage multiple DynamoDB tables in various AWS Regions. In each local region, store the individual transactions to a DynamoDB replica table in the same region.
D. Create a Global DynamoDB table with replica tables across several AWS regions that you prefer. In each local region, store the individual transactions to a DynamoDB replica table in the same region. Any changes made in one of the replica tables will automatically be replicated across all other tables.
The answer provided is D. But then how DynamoDB will support OLTP transactions like sales and financial transactions? DynamoDB supports transactions – but not OLTP transactions!!
A seems to be right with a caveat – In Aurora multi-master, you don’t setup replication – replication is automatically enabled.
So, is the question wrong or there is some other explanation?
MemberJune 1, 2021 at 12:59 am
After some more googling, I found the following:
Aurora multi-master is regional. So, the answer A is ruled out.
As to D (using DynamoDB for OLTP), I found one reference:
In the link: https://aws.amazon.com/blogs/database/how-to-determine-if-amazon-dynamodb-is-appropriate-for-your-needs-and-then-plan-your-migration/, it says that:
Are working with an online transaction processing (OLTP) workload. High-performance reads and writes are easy to manage with DynamoDB, and you can expect performance that is effectively constant across widely varying loads.
But, I really can’t find any information, which explains how DynamoDB can be used for a Sales and Financial Transaction processing.
MemberJune 1, 2021 at 8:03 pm
Thank you for your reply.
The requirement on this question is to have the lowest latency possible by “multiple AWS regions to process the sales and financial transactions on the region closest to the users” in which case there is a need for the read/write transaction to be done on any region.
Based on the options, the Global DynamoDB table will fulfill this requirement since there will be a database on the selected region and it can accept read/write DB requests on any of those regions while ensuring data is synced on all regions.
Thus, the answer will be “Create a Global DynamoDB table with replica tables across several AWS regions that you prefer. In each local region, store the individual transactions to a DynamoDB replica table in the same region. Any changes made in one of the replica tables will automatically be replicated across all other tables.”
“But, I really can’t find any information, which explains how DynamoDB can be used for a Sales and Financial Transaction processing.”
>> The scenario explained in this question is just theoretical, for illustrative purposes only. This implementation for the Financial Transaction processing may depend on how the Developer will program the application and its logic on how it would read/write to the DynamoDB database.
Hope this helps.
Let us know if you need further assistance. The Tutorials Dojo team is dedicated to helping you pass your AWS exam!
Kenneth Samonte @ Tutorials Dojo
Log in to reply.