QuickDialog Messaging App

Updating Profile Information

Question

QuickDialog is a multimedia company running a messaging app.

One of the principal features of QuickDialog is that pictures and messages are usually only available for a short time before they become inaccessible to users.

The app has evolved from originally centering on person-to-person photo sharing to present users' "Stories" of 24 hours of sequential content, along with "Discover", allowing brands show ad-supported short-form media. They use DynamoDB to support the mobile application and S3 to host the images and other documents shared between users.

KindleYou has a large customer base spread across multiple geographic areas.

Customers need to update their profile information while using the application.

Propose a solution that can be easily implemented and provides full consistency. Select 1 Option.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer: A.

Option A is correct -Amazon DynamoDB global tables provide a fully managed solution for deploying a multi- region, multi-master database, without having to build and maintain your own replication solution.

Replication is performed by DynamoDB streams.

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html

Option B is incorrect -Replication with Kinesis Streams is possible, but does not provide full consistency.

But again producers using KPL and Consumers need to be configured.

https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html

Option C is incorrect -Replication with Data Pipeline is based on pipelines and schedule.

It cannot be real-time and does not provide full consistency.

https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/what-is-datapipeline.html

Option D is incorrect -Replication with Kinesis Firehose runs with a lag.

It cannot be real-time and does not provide full consistency.

https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html

The correct answer for this scenario is Option A - Use global tables, a fully managed solution across multiple regions, multi-master databases.

Explanation: QuickDialog is a multimedia company that runs a messaging app, where the pictures and messages are only available for a short time before they become inaccessible to users. They use DynamoDB to support the mobile application and S3 to host the images and other documents shared between users.

KindleYou has a large customer base spread across multiple geographic areas. Customers need to update their profile information while using the application.

To provide a solution that can be easily implemented and provides full consistency, we need to ensure that the customer profile data is available across all regions and is updated consistently in all regions.

Option A proposes using global tables, a fully managed solution across multiple regions, multi-master databases. Global tables are a feature of Amazon DynamoDB that provide a multi-region, multi-master database solution. With global tables, you can create tables that automatically replicate data across multiple AWS Regions, with full consistency between all copies of the table. Global tables use DynamoDB streams to capture changes to the table and replicate those changes to other regions.

Using global tables ensures that the customer profile data is available across all regions and is updated consistently in all regions. It also ensures that the data is highly available and fault-tolerant, as the data is replicated across multiple regions.

Option B proposes creating a CustomerProfile table in a region, creating replication copies in different AWS regions, and enabling replication through AWS Kinesis Data Streams. While this approach may work, it requires more setup and maintenance, and it is not as easily scalable as global tables. Additionally, it does not provide full consistency between all copies of the table.

Option C proposes creating a CustomerProfile table in a region, creating replication copies in different AWS regions, and enabling replication through AWS Data Pipeline. Like Option B, this approach requires more setup and maintenance, and it is not as easily scalable as global tables. It also does not provide full consistency between all copies of the table.

Option D proposes creating a CustomerProfile table in a region, creating replication copies in different AWS regions, and enabling replication through AWS Kinesis Data Firehose. Again, like Options B and C, this approach requires more setup and maintenance, and it is not as easily scalable as global tables. It also does not provide full consistency between all copies of the table.

Therefore, Option A - Use global tables, a fully managed solution across multiple regions, multi-master databases, is the best solution for this scenario.