exam questions

Exam AWS Certified Solutions Architect - Associate SAA-C02 All Questions

View all questions & answers for the AWS Certified Solutions Architect - Associate SAA-C02 exam

Exam AWS Certified Solutions Architect - Associate SAA-C02 topic 1 question 394 discussion

A company has a website deployed on AWS. The database backend is hosted on Amazon RDS for MySQL with a primary instance and five read replicas to support scaling needs. The read replicas should lag no more than 1 second behind the primary instance to support the user experience.
As traffic on the website continues to increase, the replicas are falling further behind during periods of peak load, resulting in complaints from users when searches yield inconsistent results. A solutions architect needs to reduce the replication lag as much as possible, with minimal changes to the application code or operational requirements.
Which solution meets these requirements?

  • A. Migrate the database to Amazon Aurora MySQL. Replace the MySQL read replicas with Aurora Replicas and enable Aurora Auto Scaling
  • B. Deploy an Amazon ElastiCache for Redis cluster in front of the database. Modify the website to check the cache before querying the database read endpoints.
  • C. Migrate the database from Amazon RDS to MySQL running on Amazon EC2 compute instances. Choose very large compute optimized instances for all replica nodes.
  • D. Migrate the database to Amazon DynamoDB. Initially provision a large number of read capacity units (RCUs) to support the required throughput with on- demand capacity scaling enabled.
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
syu31svc
Highly Voted 3 years, 6 months ago
https://aws.amazon.com/rds/aurora/faqs/: "Since Amazon Aurora Replicas share the same data volume as the primary instance in the same AWS Region, there is virtually no replication lag. We typically observe lag times in the 10s of milliseconds" Answer is A
upvoted 65 times
...
LucidAstray
Highly Voted 3 years, 6 months ago
B - minimal changes to app
upvoted 13 times
acmaws
3 years, 6 months ago
"Modify the website" to check the cache before querying the database read endpoints.
upvoted 1 times
...
ecastilla
3 years, 5 months ago
In my opinion, B does not "reduce the replication lag", that strategy assumes that read replicas will be more up to date than the ElasticCache cache. So, it's not a solution. I think Answer is A
upvoted 8 times
...
ssSsEclipse
3 years, 6 months ago
A should be the minimal code change, just change the db connection string for B, you will need to check if the target is existing in cache, if not then get from db and put back to elasticcache. These are the code change needed
upvoted 16 times
...
Iamrandom
3 years, 5 months ago
for REDIS. You have to rewrite the entire application, which is based on a SQL connector...
upvoted 6 times
...
...
BECAUSE
Most Recent 1 year, 10 months ago
Selected Answer: A
A is the answer
upvoted 1 times
...
velikivelicu
2 years ago
Selected Answer: A
Aurora features a distributed, fault-tolerant, and self-healing storage system that is decoupled from compute resources and auto-scales up to 128 TiB per database instance. It delivers high performance and availability with up to 15 low-latency read replicas, point-in-time recovery, continuous backup to Amazon Simple Storage Service (Amazon S3), and replication across three Availability Zones (AZs). Since Amazon Aurora Replicas share the same data volume as the primary instance in the same AWS Region, there is virtually no replication lag. The replica lag times are in the 10s of milliseconds (compared to the replication lag of seconds in the case of MySQL read replicas). Therefore, this is the right option to ensure that the read replicas lag no more than 1 second behind the primary instance.
upvoted 1 times
...
etheng1970
2 years, 9 months ago
the current setup had aleady 5 read replicas. So A is in correct. Therefore i choose B.
upvoted 1 times
...
naveenagurjara
2 years, 10 months ago
Selected Answer: A
Understand the RR does not have the latest content. You are building the cache on the RR... how can the cache have the new content if the main source (RR) itself does not have...it does not improve the situation.
upvoted 1 times
...
BrijMohan08
2 years, 10 months ago
Selected Answer: B
B- This will require minimal code changes and operational overhead. A - Possible option, but this will require DB migration and application code changes from MySQL to Aurora, comparatively this will require more code changes.
upvoted 1 times
naveenagurjara
2 years, 10 months ago
WRONG! It is A. Understand the RR does not have the latest content. You are building the cache on the RR... how can the cache have the new content if the main source (RR) itself does not have...it does not improve the situation.
upvoted 2 times
...
balmo
2 years, 8 months ago
If we are talking about code changes, I think the order will be like this: 1. DynamoDB (most changes since you are going from relational to non-relation DB) 2. ElastiCache (every method in your app needs to implement caching) 3. Aurora and MySQL inside EC2 don't require any code changes
upvoted 1 times
...
...
Bennie
3 years ago
A: this gives it away: read replicas should be no more than one second behind the original
upvoted 3 times
...
awsnoobster
3 years, 1 month ago
i choose A
upvoted 1 times
...
momedkri117
3 years, 3 months ago
Selected Answer: A
"all Aurora Replicas return the same data for query results with minimal replica lag. This lag is usually much less than 100 milliseconds after the primary instance has written an update." Read this article: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Replication.html
upvoted 2 times
...
envest
3 years, 3 months ago
IMO: B because simple, fast solutions to improve replica scaling (not intended for backup): https://aws.amazon.com/getting-started/hands-on/boosting-mysql-database-performance-with-amazon-elasticache-for-redis/
upvoted 1 times
...
tototo
3 years, 3 months ago
Selected Answer: A
Answer is A
upvoted 1 times
...
Pankaj_Shet
3 years, 4 months ago
Aurora is good choice, Aurora helps in reducing replication lag, whereas ElastiCache will help in reducing the response latency. For me Answer is A.
upvoted 4 times
...
Sharan_25_v
3 years, 4 months ago
Selected Answer: A
Coding for B is huge and does not impact replication as well so it has to be A
upvoted 1 times
...
gargaditya
3 years, 5 months ago
B does not "reduce the replication lag", that strategy assumes that read replicas will be more up to date than the ElasticCache cache. So, it's not a solution. C involves managing EC2 by self instead of managed service,not a best approach,not sure if it even helps with lag. D-Dynamo DB is NoSQl DB-->lot of modification moving from SQL based(MySQL) A fits as Aurora replication lag is 100ms within region and "less than 1 second "cross region.
upvoted 4 times
gargaditya
3 years, 5 months ago
Aurora replication lag: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Replication.html The primary instance and the Aurora Replicas in the DB cluster all see the data in the cluster volume as a single logical volume. As a result, all Aurora Replicas return the same data for query results with minimal replica lag. This lag is usually much less than 100 milliseconds after the primary instance has written an update. Replica lag varies depending on the rate of database change. That is, during periods where a large amount of write operations occur for the database, you might see an increase in replica lag. ============== Replication from the primary DB cluster to all secondaries is handled by the Aurora storage layer rather than by the database engine, so lagtime for replicating changes is minimal—typically, less than 1 second. https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.CrossRegion.html
upvoted 2 times
gargaditya
3 years, 5 months ago
Moreover,using Elasticache involves heavy change of code>reason to eliminate B
upvoted 1 times
...
...
...
Jay2021aws
3 years, 5 months ago
Elasticache is for nonrelation DBs only. Thus A is the answer.
upvoted 2 times
securus
3 years, 5 months ago
This is not the reason to pick A.
upvoted 3 times
...
Bar_t
2 years, 8 months ago
Elasticache can also serve RDS SQL databases: Memcached: Amazon ElastiCache is an ideal front-end for data stores like Amazon RDS or Amazon DynamoDB, providing a high-performance middle tier for applications with extremely high request rates and/or low latency requirements https://aws.amazon.com/elasticache/faqs/ Redis: You will implement a cache-aside strategy using Amazon ElastiCache for Redis on top of a MySQL database. https://aws.amazon.com/getting-started/hands-on/boosting-mysql-database-performance-with-amazon-elasticache-for-redis/
upvoted 1 times
...
...
jkwek
3 years, 5 months ago
Answer is A. Correction to my previous answer. https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Replication.html Reason is the hint in the question " The read replicas should lag no more than 1 second behind the primary instance to support the user experience." This removes answer B as a possibility
upvoted 3 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago