I plan to host the application on Amazon Web Services (AWS). I had some experience in setting up a WebDev application on AWS a few years ago and I thought the servers and all the other utilities and services offered by AWS were fantastic. Also a basic server was free for a year – so if that’s still the case I’ll do that again. Would be interested to hear from others as to which hosting providers they use. I’ll definitely write a post when I get around to setting up the server and installing the application.
The reason I mention this now is that I want to keep the costs down. So choosing a database like MS SQL is definitely not happening. MySQL and PostgreSQL are both free and I’m sure are excellent choices. I haven’t tried using MySQL but have done some work with PostgreSQL a few years ago and had some guidance from Pete Halsted. It worked fine, however, it seemed you had to do a bit more setup and follow some rules to make it work – it all seemed a bit fiddly. Certainly compared to Hyperfile. There are two versions of Hyperfile – Classic and SQL C/S. Classic I guess is similar to Topspeed (for the Clarion guys) – some sort of ISAM database. I used Topspeed for many years and it was excellent. However…..running big databases and large numbers of users over sub-optimal networks was a headache as the database files would regularly “corrupt” requiring database fixes and downtime. This problem largely goes away if you have a database engine that handles the data access and returns data to clients. This is what Hyperfile SQL C/S gives you. Given the distributed nature of the client (browser) and server, and the fact that the data access in handled by server code I suspect using Classic would work just fine. However, it seems no hassle at all to use the C/S version – so that’s what I’m doing. As I get to use it more I’ll write a post about how I’m finding it for managing the data (outside of the application).
One thought on “Choosing the Database”
I look forward to following your journey. I have been doing AWS for several years. I am actually a certified solutions architect. If you have not, I would suggest you take a strong look at Docker. The reason I say this is that you will give yourself and other possible clients a choice. If you go with the AWS route you are going to be launching EC2 instances. In that case you have lock in. Using Docker containers you have no such lock in. With Docker you have the ability to move to bare metal if you want, or move to any other provider. In fact PC Soft themselves has the HF SQL Docker container available. You will have to create your own WAS server. For any given project I have the Docker containers setup in my office. I use this like Devop’s so I can fully have a test system, then easily deploy the containers. This also allows you to easily have programmable scale up or clustering.
At the stage your are in now also consider doing this project as micro services based. If in the end you do some mobile applications your design will be ready and will be easily able to expand. WX does Web Services pretty well at this point and future versions will only get better.
Best of luck to you!