Which database is ideal for my scenario?

1

I am developing a commercial automation system (C # and Windows Forms) that can be installed on one or more machines on the same local network.

I've also done the mobile part of the system, where you can place requests through any device that contains a browser (an ASP.Net application running in IIS of the machine / server). This can also be accessed by N users. I know that, regarding IIS, there is a simultaneous connection limitation that varies according to the Windows edition and version of IIS. although I do not quite understand how this limitation works, this is not my main question (would it be a limitation on server requests?).

These applications use SQL Server 2012 Express.

I want to make this system as simple as possible at the time of installation, where any user with the least experience can download and install ("next ... next ... finish") autonomously. / p>

I researched SQLite, but I saw that it does not behave well when used by other computers on the network.

I also saw SQL Server Compact, but I did not use it for the same SQLite reason.

The closest I got to it, the search I did was Firebird.

My main concern is with the ease to download and install the system. What I really wanted to do was maintain SQL Server, but it is very heavy (especially in relation to the size of the download) and complicated for a regular user to perform the installation.

Should I have any further concerns about how the system works? Firebird itself?

    
asked by anonymous 31.05.2016 / 06:11

2 answers

3

There is also the possibility of SQL Server Express LocalDb , which is practically your SQL Server, but based on a single MDF file. The impact on your system will be very small.

Another thing you could do is offer your system in the cloud. I do not know if you ever thought about the possibility, but it saves the client from doing the installation himself. Azure is an option .

    
31.05.2016 / 06:18
2

Firebird that does not need to install is not suitable for what you want, it is absurdly more limited than SQLite. The version that works fine (albeit a little scalable up to the version I know) has to install, would fall into the same problem of installing SQL Server Express.

You can use SQL Server LocalDB . But it is not suitable for various scenarios. It remains heavy to download and run, just does not need a complicated installation process. You would need to analyze if it suits your scenario.

SQLite is well suited for many cases , even on a network, by adopting a server-client", provided the programmer knows what he is doing. In general it ends up being not recommended because the programmer, in general, does not know what he is doing. It is far more scalable than people realize, and can behave even better than SQL Server Express in some scenarios.

Other solutions are even less suitable for what you are thinking. Or invest what you need to run SQLite, or accept that you will have to use SQL Server yourself (assuming you do not want to make deep changes to the system), opting for Express or LocalDB depending on your case.

    
31.05.2016 / 06:25