Course menuSAA-C03

Exams / SAA-C03 / Multi-Region data replication / Question 1

SAA-C03 practice question: Multi-Region data replication (1 of 2)

Design Resilient Architectures A free question from our original SAA-C03 practice exam. Try it, then open the answer to see why each option is right or wrong.

A gaming company stores player profiles in a single Amazon DynamoDB table in us-east-1. It is launching in Europe, and players there must be able to update their profiles with low latency. If either AWS Region becomes unavailable, the application must keep accepting reads and writes in the other Region. Losing a few seconds of recent updates during a Regional outage is acceptable. The team does not want to write or run any replication code. Which solution meets these requirements with the LEAST operational overhead?

Choose one answer.

  1. A. Keep the table in us-east-1, turn on point-in-time recovery, and use AWS Backup to copy backups to eu-west-1 every hour.
  2. B. Convert the table to a DynamoDB global table with replicas in us-east-1 and eu-west-1, and send each player to the nearest replica.
  3. C. Create a second table in eu-west-1, and use DynamoDB Streams with AWS Lambda functions in each Region to copy changes to the other table.
  4. D. Migrate the profiles to an Amazon Aurora global database with a secondary cluster in eu-west-1, and turn on write forwarding there.
Show the answer and explanation

Answer: B

  • A. Wrong: Point-in-time recovery and cross-Region backup copies protect against data loss, but they give European players no local table to write to. After a Regional outage the team would first have to restore a new table from a backup, so writes would stop until the restore finished. A global table keeps a live, writable replica in each Region instead. Learn more: Cross-Region backups in AWS Backup (opens in a new tab)
  • B. Right: Correct. Every replica in a global table accepts reads and writes, and DynamoDB replicates changes between the replicas for you, so European players write to a nearby Region. In the default multi-Region eventual consistency mode, replication is asynchronous, which matches the stated tolerance for losing a few seconds of updates. If one Region fails, the application carries on with the replica in the other Region. Learn more: Global tables: multi-Region replication for DynamoDB (opens in a new tab)
  • C. Wrong: Streams and Lambda can copy item changes between two separate tables, so this design can work. However, the team would have to write, deploy and monitor the replication code, and handle retries, conflicting updates and changes being copied back and forth. Global tables give the same multi-Region, multi-writer result as a managed feature. Learn more: Change data capture for DynamoDB Streams (opens in a new tab)
  • D. Wrong: An Aurora global database has one primary cluster that performs all writes. Write forwarding lets the secondary cluster accept write statements, but it sends them to the writer in the primary Region, so European writes still cross the Atlantic. Migrating from DynamoDB to Aurora is also a large change that the requirements do not call for. Learn more: Using write forwarding in an Aurora MySQL global database (opens in a new tab)

Explanation

The requirements are low-latency writes in two Regions, continued reads and writes if one Region fails, a few seconds of acceptable data loss, and no custom replication code. DynamoDB global tables meet all of them: every replica is writable and replication is managed and asynchronous. Backups need a restore before writes resume, Streams with Lambda is custom code, and an Aurora global database has a single write Region.

Study

Keep practising

Answer questions with a score at the end, or practise just this topic with the explanation after each one. No sign-up needed.