During a high traffic portion of the day, one of your relational databases crashes, but the replica is never promoted to a master. You want to avoid this in the future. What should you do?
A.
Use a different database
B.
Choose larger instances for your database
C.
Create snapshots of your database more regularly
D.
Implement routinely scheduled failovers of your databases
@chiar, I agree the question i s not clear. In GCP larger instances have larger number of CPUs, Memory and come with their own private network. So increases the instance size would help prevent the need for failover during high traffic times. However, routinely scheduled failovers would allow the team to test the failover when it is not requried. This would make sure it is working when it is required.
I'll go with option D based on real life experience. As part of managing environments, failover test for the database is part of regular Infra activity (at least once a year)
Not D because replica is also crashing (why else would it not be promoted). We don't build a layer to fix an underlying layer that isn't working. We fix why the layer isn't working so the answer is B.
D - I think question is related to resiliency & disaster recovery, no matter how big or small the instance is.. Is the application able to achieve its RTO & RPO ?.. We don't know what cause the crash, but we could have avoided it if we had a Routine Scheduled Failovers Check done in past rather than anticipating & waiting for a real crash.
1. Proactive Testing: Regularly scheduled failovers proactively test your database's ability to recover and ensure the replica can successfully take over as the master. This helps identify and address any issues in the failover process before a real crisis occurs.
2. Confidence in Failover: By routinely testing failover, you gain confidence that your system can recover automatically in case of a primary database failure, minimizing downtime and data loss.
3. Improved Recovery Time: Regular failovers help optimize the recovery process, reducing the time it takes to switch to the replica.
- **A. Use a different database**: Simply switching to a different database does not inherently solve the problem of failover and promotion mechanisms. The issue is more about the setup and management of failover strategies rather than the specific database technology used.
- **B. Choose larger instances for your database**: While using larger instances might improve performance and potentially reduce the risk of a crash due to resource constraints, it does not address the failover mechanism. The key problem is the replica not being promoted, which larger instances alone won't fix.
- **C. Create snapshots of your database more regularly**: Regular snapshots are useful for backups and recovery but do not help with automatic failover and high availability. Snapshots do not ensure that a replica will be promoted to a master if the primary fails.
I think the answer is B, as the most important thing is customer experience. We can NOT expect database fails as a normal event which have direct customer and business impacts (if current data base fail because of load then replica database may fail as well).
Of course we need to setup the failover process to work, but the more important task will be to increase database load first, thus I choose B.
D is correct with given choice, because what if larger instance size is also failed. How ever question ignores logging and networking completely, the best way is to use logging why the DB is crashed, failover is just a remedy to solve the issues at current, not solving the problem itself.
The correct answer is D
The question is asking how to avoid the situation of not failing over. The answer is to test the failover procedure. The question does *NOT*ask about what happens in the future and whether the secondary node is large enough.
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.
Narigdo
Highly Voted 5 years, 6 months agoJos
5 years, 6 months agoEroc
Highly Voted 5 years, 7 months agoShariq
5 years, 6 months agomahi_h
Most Recent 2 weeks, 6 days agoe5966f2
3 weeks, 5 days agokhadar2001
2 months agohpf97
4 months, 2 weeks agoalihabib
4 months, 3 weeks agoalihabib
6 months, 2 weeks agoEkramy_Elnaggar
7 months, 1 week agobeagle_Masato
7 months, 2 weeks agojames2033
1 year agohuuthanhdlv
1 year agoJen3
1 year, 3 months agoJen3
1 year, 3 months agoashishdwi007
1 year, 4 months agodiscuss24
1 year, 5 months agoAWS_Sam
1 year, 5 months agopakilodi
1 year, 6 months ago