Which database is ideal for my scenario?

Asked

Viewed 223 times

3

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

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

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 minimal experience can download and perform the installation ("next...next...Finish") autonomously.

I searched on 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 didn’t use it for the same reason as Sqlite.

The closest I’ve come, from the research I’ve done, is Firebird.

My main concern is with the ease to download and perform system installation. What I really wanted was to keep SQL Server, but it is very heavy (mainly regarding download size) and complicated for an ordinary user to perform the installation.

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

  • Have you thought about using Postgres? It is relatively simple to install and download very small (54MB), compared to others. in addition we are talking about one of the best comics on the market.

  • Firebird is the easiest thing to install and manage that I’ve ever found. And if it’s local access, you can use Embedded mode, which requires no server installation.

  • Embedded mode doesn’t solve his problem.

  • Why not @bigown?

  • @Embarrass him because he needs competition, which is not possible in this mode. If he already thinks that Sqlite can not handle well the competition of this (and I think it can, I have experience with this, usually sell a wrong idea), imagine a product that officially can not do anything competitive.

  • Just the fact that having a centralized database already adds some complexity to the deploy, it is very difficult to next next Finish - someone will have to at least inform which server will be. I would be with SQL Server even, which has easy installation, configuration and management compared to other Dbms; plus all the robustness you will need.

  • @bigown but he did not say that he is having difficulty competing, just that he wants something simpler to be installed. Anyway, the latest version of Firebird allows concurrent BD access, provided it is done on the same machine. http://stackoverflow.com/a/32903077/460775

  • @Embarbosa is implicit. He said that Sqlite is problematic. If it is to use without competition, it is the best solution that there is ready. The embedded FB has little or no database utility, it serves only as archiver.

  • @mustache now you’re already Rollando... never mind...

  • 1

    @ital Camilo, Each client (company you serve) has a server, where IIS and SQL Server (2 servers?) are located and the various client machines access the IIS server to use the application, correct? What version of Windows is installed on the server? and what is the server configuration? There is a part of the clients(desktops) that access the database with Windows Forms, correct?

Show 5 more comments

2 answers

3

There is still 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 don’t know if you ever thought about the possibility, but it saves the customer from doing the installation himself. Azure is an option.

3

The Firebird you do not need to install is not at all suitable for what you want, it is absurdly more limited than Sqlite. The version that works well (although scalable even to the version I know) has to install, would fall into the same problem of installing SQL Server Express.

It is possible to use the 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 is suitable for your scenario.

Sqlite is well suited for many cases, network, adopting a scheme of client-server, as long as the programmer knows what he’s doing. In general it is not recommended because the programmer, in general, does not know what he is doing. It is much more scalable than people realize, and can behave even better than SQL Server Express in some scenarios.

Other solutions are less suitable for what you’re thinking. Either invest what is necessary to run Sqlite, or accept that you will have to use SQL Server even (assuming you do not want to make deep system changes), opting for Express or Localdb depending on your case.

  • I have to disagree, especially on the part "Other solutions are even less suitable for what you are thinking". You don’t have to analyze all the other solutions to know that all of them are less suitable.

  • Technically it is true. But looking for solutions out of the box for someone looking for something simple is by itself an impediment, I’m not only analyzing the technical side, but the condition presented in the question let me infer that he will not want solutions that create more complicated. Just using something off the grid is a huge complicator. Using Sqlite itself may be a complicator and I make that clear in the answer. I mentioned him because I was in the question. I made an analysis of what is in the question. If there are things outside the question that make it difficult or easy to choose, I can’t say.

  • On the other hand no one can claim that any solution is suitable for him. Then looking at it from that angle, all the answers will be wrong. I gave the best possible answer, neither closing the fan too close, nor leaving too open.

  • True. That is why questions of this kind are no longer accepted on Soen. They are based on opinions rather than realistic data. Anyway, I just wanted to put on record that I disagree because we don’t have enough information.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.