You ask about stability and performance, but, as always, it is a matter of compromise, so you need to decide what is more important in these terms - a website or software.
I assume that the website (thinking why you upload information to the database anyway) and from this point of view put the database near you on the website (with the hosting company, most of which provides this service).
This will allow your website to access data faster and therefore increase the stability of your system (less chance of timeouts)
The price you pay, of course, is with the software, which should now connect remotely to the database.
Another consideration is the amount of data - if, for example, you expect the software to actively use the database and the website to be economical, you might consider changing the approach.
The latter - regarding remote access to the database - you can, of course, just connect to the database โnormallyโ, but I would probably think about packing it in a web service, which will allow you
- To have more flexibility regarding the location and implementation of the database
- Using widespread protocols such as WS- *, you can achieve higher security without the need for infrastructure such as VPN
Again - depending on what part of the database access will be remotely, you must choose which side to set as a service. this, of course, is potentially less suitable for large data downloads.
source share