I’d have to echo those who mention AWS in this thread.
I have “high enough” availability with their almost default settings for their Multi-AZ RDS instances. Meaning, I have 2 master databases (1 replicating to the other) in 2 separate physical regions/networks.
If 1 goes down, they (meaning AWS) automatically switch over to the db in the other region.
Read more here: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html
For this, with a moderate DB server on one of my products I paid $65.47 last month:
“$0.088 per RDS db.t2.small Multi-AZ instance hour (or partial hour) running MySQL / 744 Hrs / $65.47”
This by no means “cost me a mint” and I could even go cheaper (i.e. a smaller RDS instance). Also @ $65.47 / month that’s about $786 per annum, a far cry from you $3-$5k estimate.
Sure, you could scream “lock-in!” by using AWS and their HA systems, whatever…
When I get big enough and have a large tech staff, I can have them spin their wheels and solve that problem for me. For now, I want to focus on Product + Customers, not trivial things like this that have been solved for a reasonable price by others.
…just my $0.02