Amazon SOA-C02: Best Datastore Option for 3-Tier Application Hosting in AWS

Best Datastore Option for a 3-Tier Application in AWS

Question

A company is planning to host its datastore in AWS for its 3-tier application.

The following are the key requirements for the database. - The ability for multiple schema changes - The relational database should be durable - Changes to the relational database should not result in downtime Which of the following would be the best datastore option for the company?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answer: D.

AWS Says, "In Amazon Aurora, you can use fast DDL to execute an ALTER TABLE operation in place, nearly instantaneously.

The operation completes without requiring the table to be copied and without having a material impact on other DML statements.

Because the operation doesn't consume temporary storage for a table copy, it makes DDL statements practical even for large tables on small instance types.

Here's a performance comparison-you can see that Aurora is doing a constant time operation updating the Schema Version Table.

In contrast, regular MySQL grows in a near-linear fashion with table size.

Amazon Aurora is a MySQL-compatible database that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open-source databases.

Amazon Aurora has a taken a common data definition language (DDL) statement that typically requires hours to complete in MySQL and made it near-instantaneous.i.e.0.15 sec for a 100BG table on r3.8xlarge instance.

For more information, please refer to the below link-

https://aws.amazon.com/blogs/database/amazon-aurora-under-the-hood-fast-ddl/
On r3.large

On r3.8xlarge

Aurora MySQL 5.6 MySQL 5.7
10GB table 0.27 sec 3,960 sec 1,600 sec
50GB table 0.25 sec 23,400 sec 5,040 sec
100GB table 0.26 sec 53,460 sec 9,720 sec

Aurora MySQL 5.6 MySQL 5.7
10GB table 0.06 sec 900 sec 1,080 sec
50GB table 0.08 sec 4,680 sec 5,040 sec
100GB table 0.15 sec 14,400 sec 9,720 sec

The company's key requirements for their datastore indicate that they need a relational database that supports multiple schema changes, is durable, and can handle changes without downtime. Based on these requirements, the best datastore option for the company is AWS Aurora (option D).

AWS S3 (option A) is an object storage service, and it does not provide relational database capabilities. While it is durable and highly available, it is not the appropriate datastore option for a 3-tier application that requires a relational database.

AWS Redshift (option B) is a data warehousing service that can handle large volumes of structured and semi-structured data. However, it is not designed for frequent schema changes and can result in downtime during schema changes, which does not meet the company's requirements.

AWS DynamoDB (option C) is a NoSQL database service that provides scalability and high availability but does not support relational database capabilities. While it may be a suitable datastore option for certain applications, it does not meet the requirements of the company's 3-tier application.

AWS Aurora (option D) is a relational database service that provides high availability, durability, and automatic failover without downtime. It is designed to handle frequent schema changes with minimal impact on the application. As such, AWS Aurora is the best datastore option for the company based on their requirements.