An International company has deployed a multi-tier web application that relies on DynamoDB in a single region
For regulatory reasons they need disaster recovery capability In a separate region with a Recovery Time
Objective of 2 hours and a Recovery Point Objective of 24 hours They should synchronize their data on a
regular basis and be able to provision me web application rapidly using CloudFormation.
The objective is to minimize changes to the existing web application, control the throughput of DynamoDB
used for the synchronization of data and synchronize only the modified elements.
Which design would you choose to meet these requirements?
A.
Use AWS data Pipeline to schedule a DynamoDB cross region copy once a day. create a Lastupdated’
attribute in your DynamoDB table that would represent the timestamp of the last update and use it as a filter.
B.
Use EMR and write a custom script to retrieve data from DynamoDB in the current region using a SCAN
operation and push it to QynamoDB in the second region.
C.
Use AWS data Pipeline to schedule an export of the DynamoDB table to S3 in the current region once a day
then schedule another task immediately after it that will import data from S3 to DynamoDB in the other
region.
D.
Send also each Ante into an SQS queue in me second region; use an auto-scaiing group behind the SQS
queue to replay the write in the second region.
A seems like the answer.
C exports the whole DB on a daily basis. A exports only the updates (synchronize only the modified elements)
DynamoDB does have a cross-region replication function. So not sure why that is not one of the options:
Q: What is a DynamoDB cross-region replication?
DynamoDB cross-region replication allows you to maintain identical copies (called replicas) of a DynamoDB table (called master table) in one or more AWS regions. After you enable cross-region replication for a table, identical copies of the table are created in other AWS regions. Writes to the table will be automatically propagated to all replicas.
not relevant question these questions are also mixed some are for sysops
I would prefer to go with A
C – Export of dynamo DB is incremental and it will amend the backup with latest changes.
Although, recently , there is a methodology about incremental backup for DynamoDB.
Refer to: http://stackoverflow.com/questions/15743454/dynamodb-how-to-do-incremental-backup?rq=1
However, the information within C is not enough to conclude that the methodology C provided is adhere to the right solution.
I choose A.
A is the right answer.
See here: https://aws.amazon.com/blogs/aws/copy-dynamodb-data-between-regions-using-the-aws-data-pipeline/
Option C is not the right answer because it is not incremental.
DynamoDB cross-region replication is a newer feature which is better approach than option A: https://aws.amazon.com/about-aws/whats-new/2015/07/amazon-dynamodb-available-now-cross-region-replication-triggers-and-streams/
This question seems little bit out of date since now there is Cross-Region Export and Import of DynamoDB Tables function.
Although underlying is still using combination of AWS Data Pipeline and Elastic MapReduce.
The cross-region replica is is not cost optimized solution for DR compared to A solution.
A should be the right answer.
vladam, i like your answers.
please continue the good work