We have a software backed with database. We want to keep database at a remote location and have it all the time available. For this task, a 5 year old project experience came into my mind. I remember, IT department over there asked me to deploy database not locally but remotely on another LAN computer. They told me, there will be two computers there but thanks to a special software, I will see only one Windows OS interface and that software will handle all sync, backup, replication .. tasks. They were calling it "virtual machine".
So with the IP they gave me, I just connected to so called virtual machine and I just deployed my SQL database there just like it is in a local machine. In summary, we need such a solution now for ourselves. I made some search on the net and I found out Automatic Failover, Database Mirroring etc. topics. But I am not sure these refer to what I described. At this point I need your help. Maybe there is a better solution after 5 year for such a task. I am not a database administrator.
I did not choose a specific database yet. Our software can connect to several number of major databases. Just seems that SQL will provide a robust solution for that. And In short, what we need is to have a database backend which will be always available to us. So in the case of failures, it should have a system to automatically switch to working replica.