Welcome to ExamTopics
ExamTopics Logo
- Expert Verified, Online, Free.
exam questions

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

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

Exam AWS Certified Solutions Architect - Associate SAA-C03 topic 1 question 337 discussion

A company has deployed a web application on AWS. The company hosts the backend database on Amazon RDS for MySQL with a primary DB instance and five read replicas to support scaling needs. The read replicas must lag no more than 1 second behind the primary DB instance. The database routinely runs scheduled stored procedures.

As traffic on the website increases, the replicas experience additional lag during periods of peak load. A solutions architect must reduce the replication lag as much as possible. The solutions architect must minimize changes to the application code and must minimize ongoing operational overhead.

Which solution will meet these requirements?

  • A. Migrate the database to Amazon Aurora MySQL. Replace the read replicas with Aurora Replicas, and configure Aurora Auto Scaling. Replace the stored procedures with Aurora MySQL native functions.
  • B. Deploy an Amazon ElastiCache for Redis cluster in front of the database. Modify the application to check the cache before the application queries the database. Replace the stored procedures with AWS Lambda functions.
  • C. Migrate the database to a MySQL database that runs on Amazon EC2 instances. Choose large, compute optimized EC2 instances for all replica nodes. Maintain the stored procedures on the EC2 instances.
  • D. Migrate the database to Amazon DynamoDB. Provision a large number of read capacity units (RCUs) to support the required throughput, and configure on-demand capacity scaling. Replace the stored procedures with DynamoDB streams.
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️

Comments

Chosen Answer:
This is a voting comment (?) , you can switch to a simple comment.
Switch to a voting comment New
fkie4
Highly Voted 1 year, 7 months ago
i hate this kind of question
upvoted 59 times
...
asoli
Highly Voted 1 year, 7 months ago
Selected Answer: A
Using Cache required huge changes in the application. Several things need to change to use cache in front of the DB in the application. So, option B is not correct. Aurora will help to reduce replication lag for read replica
upvoted 11 times
...
sheilawu
Most Recent 4 months, 1 week ago
Selected Answer: A
You need to read the question carefully. The solutions architect must minimize changes to the application code = therefore A If this question without this statement, B will be a better choice.
upvoted 1 times
...
JackyCCK
6 months, 2 weeks ago
minimize ongoing operational overhead = Not B Using ElastiCache require app change
upvoted 2 times
...
awsgeek75
9 months, 2 weeks ago
Selected Answer: A
AWS Aurora and Native Functions are least application changes while providing better performance and minimum latency. https://aws.amazon.com/rds/aurora/faqs/ B, C, D require lots of changes to the application so relatively speaking A is least code change and least maintenance/operational overhead.
upvoted 7 times
...
pentium75
9 months, 3 weeks ago
Selected Answer: A
A: Minimal changes to the application code, < 1 second lag B: Does not address the replication lag issue at all, requires code changes and adds overhead C: Moving from managed RDS to self-managed database on EC2 is ADDING, not minimizing, overhead, PLUS it does not address the replication lag issue D: DynamoDB is a NoSQL DB, would require MASSIVE changes to application code and probably even application logic
upvoted 3 times
...
Murtadhaceit
10 months, 2 weeks ago
Selected Answer: A
imho, B is not valid because it involves extra coding and the question specifically mentions no more coding. Therefore, replacing the current db with another one is not considered as more coding.
upvoted 2 times
...
TariqKipkemei
1 year ago
Selected Answer: A
Migrate the database to Amazon Aurora MySQL. Replace the read replicas with Aurora Replicas, and configure Aurora Auto Scaling. Replace the stored procedures with Aurora MySQL native functions
upvoted 1 times
...
Guru4Cloud
1 year, 1 month ago
Selected Answer: A
Migrate the RDS MySQL database to Amazon Aurora MySQL Use Aurora Replicas for read scaling instead of RDS read replicas Configure Aurora Auto Scaling to handle load spikes Replace stored procedures with Aurora MySQL native functions
upvoted 1 times
...
MrAWSAssociate
1 year, 3 months ago
Selected Answer: A
First, Elasticache involves heavy change on application code. The question mentioned that "he solutions architect must minimize changes to the application code". Therefore B is not suitable and A is more appropriate for the question requirement.
upvoted 2 times
aaroncelestin
1 year, 1 month ago
... but migrating their ENTIRE prod database and its replicas to a new platform is not a heavy change?
upvoted 3 times
...
...
KMohsoe
1 year, 4 months ago
Selected Answer: B
Why not B? Please explain to me.
upvoted 2 times
Terion
1 year ago
It wouldn't have the most up to date info since it must no lag in relation to the main DB
upvoted 1 times
...
pentium75
9 months, 3 weeks ago
How would adding a cache "reduce the replication lag" between the primary instance and the read replicas? Plus, it would require "changes to the application code" that we want to avoid. The "AWS Lambda functions" would create "ongoing operational overhead" that we're also asked to avoid.
upvoted 1 times
...
...
kaushald
1 year, 7 months ago
Option A is the most appropriate solution for reducing replication lag without significant changes to the application code and minimizing ongoing operational overhead. Migrating the database to Amazon Aurora MySQL allows for improved replication performance and higher scalability compared to Amazon RDS for MySQL. Aurora Replicas provide faster replication, reducing the replication lag, and Aurora Auto Scaling ensures that there are enough Aurora Replicas to handle the incoming traffic. Additionally, Aurora MySQL native functions can replace the stored procedures, reducing the load on the database and improving performance. Option B is not the best solution since adding an ElastiCache for Redis cluster does not address the replication lag issue, and the cache may not have the most up-to-date information. Additionally, replacing the stored procedures with AWS Lambda functions adds additional complexity and may not improve performance.
upvoted 4 times
njufi
7 months ago
I agree with your explanation. Additionally, considering the requirement that "the read replicas must lag no more than 1 second behind the primary DB instance," it's crucial to ensure that Elasticache for Redis also maintains this tight synchronization window. This implies that the main RDS instance would need to synchronize an additional database, potentially exacerbating lag during peak times rather than alleviating it.
upvoted 1 times
...
...
[Removed]
1 year, 7 months ago
Selected Answer: B
a,b are confusing me.. i would like to go with b..
upvoted 1 times
bangfire
1 year, 7 months ago
Option B is incorrect because it suggests using ElastiCache for Redis as a caching layer in front of the database, but this would not necessarily reduce the replication lag on the read replicas. Additionally, it suggests replacing the stored procedures with AWS Lambda functions, which may require significant changes to the application code.
upvoted 5 times
lizzard812
1 year, 6 months ago
Yes and moreover Redis requires app refactoring which is a solid operational overhead
upvoted 1 times
...
...
...
Nel8
1 year, 7 months ago
Selected Answer: B
By using ElastiCache you avoid a lot of common issues you might encounter. ElastiCache is a database caching solution. ElastiCache Redis per se, supports failover and Multi-AZ. And Most of all, ElastiCache is well suited to place in front of RDS. Migrating a database such as option A, requires operational overhead.
upvoted 2 times
pentium75
9 months, 3 weeks ago
Database migration is one-time work, NOT "operational overhead". Plus, RDS for MySQL to Aurora with MySQL compatibility is not a big deal, and "minimizes changes to the application code" as requested.
upvoted 1 times
...
...
bdp123
1 year, 7 months ago
Selected Answer: A
Aurora can have up to 15 read replicas - much faster than RDS https://aws.amazon.com/rds/aurora/
upvoted 4 times
ChrisG1454
1 year, 7 months ago
" 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 " Reference: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Replication.html
upvoted 2 times
ChrisG1454
1 year, 7 months ago
You can invoke an Amazon Lambda function from an Amazon Aurora MySQL-Compatible Edition DB cluster with the "native function".... https://docs.amazonaws.cn/en_us/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Lambda.html
upvoted 1 times
...
...
...
jennyka76
1 year, 8 months ago
Answer - A https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PostgreSQL.Replication.ReadReplicas.html --------------------------------------------------------------------------------------- You can scale reads for your Amazon RDS for PostgreSQL DB instance by adding read replicas to the instance. As with other Amazon RDS database engines, RDS for PostgreSQL uses the native replication mechanisms of PostgreSQL to keep read replicas up to date with changes on the source DB. For general information about read replicas and Amazon RDS, see Working with read replicas.
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 ...