4

I am the sole sysadmin for a small firm of about 50 people, and I have been asked to develop an in-house application for tracking job completion and providing reports based on that data. I'm planning on building it as a web application. I have roughly equal experience developing for MySQL, PostgreSQL, and MSSQL. We are primarily a Windows-based shop, but I'm fairly comfortable with both Windows and Linux system administration.

These are my two biggest concerns:

  • Ease of managability. I don't expect to be maintaining this database forever. For the sake of the person that eventually has to take over for me, which database has the lowest barrier to entry?
  • Data integrity. This means transaction-safe, robust storage, and easy backup/recovery. Even better if the database can be easily replicated.

There is not a lot of budget for this project, so I am restricted to working with one of the free database systems mentioned above. What would you choose?

Update: Considering that MSSQL (SQL Server Express) seems to have the advantage in a Windows-centric environment, I may reconsider my language choice. I'm familiar with PHP, but not overly fond of it. ASP.NET, for example, seems to be fairly well regarded. I've also been hearing a lot of good things about the Visual Studio tools.

I see now that the most appropriate stack (and hence, the database) is largely dependent on the language being used. If I stay with PHP, I'll definitely go with a LAMP stack.

Nic
  • 13,025
  • 16
  • 59
  • 102

3 Answers3

3

MSSQL hands down. Unless you blow the 4gb per database limit (which does not count file stored blobs, btw. - and i doubt you woult breach that soonish). Especially being windows based - many advantages (intrated into patching, easily scalable, good administration, easy to maintain etc.).

TomTom
  • 50,857
  • 7
  • 52
  • 134
  • We'll be WELL under the 4GB limit. Only a few hundred MB, at most. – Nic Mar 19 '10 at 20:28
  • Then I also would suggest trying out ASP.NET - especially ASP.NET MVC, the new released v2. You will like it - a lot better environment than PHP. – TomTom Mar 20 '10 at 18:14
3

If you're going to be using php, you might as well do LAMP. Php and IIS is a nightmare. Php and MSSQL is just kinda a waste, and more than a little annoying to configure (I actually use Php and MSSQL, just because the MSSQL is standard here, and the Php was inherited. I don't particularly enjoy it.)

Still, for such a small setup, you can use whatever you're most comfortable with. I'd skip MSSQL partly because one of the things I enjoy most about MSSQL is Visual Studio, and you probably won't have that. And Apache/Php works decently well on Windows. I wouldn't worry about sticking your windows-using coworkers with a LAMP machine. As long as you install the GUI it should be easy enough for them to manage.

Satanicpuppy
  • 5,917
  • 1
  • 16
  • 18
  • On a different project I'm currently using IIS+PHP to get Integrated Authentication (IE-only). It was a pain to set up, even getting it's own page in the documentation wiki. – Nic Mar 19 '10 at 23:10
1

You could also consider OracleXE - but yeah go with what you know, are you developing the app in the windows world (.net) or the oss world (php/perl/python/ruby/etc/etc) ? your development language would likely be the biggest deciding factor.

For .net on IIS use MSSQL obviously For oss tech on Apache use MySQL (This will make it easier for any future admin who doesnt know pgsql)

And I'm aware you can use .net with mysql/pgsql and php & co with MSSQL - but that is really a silly idea for anything other than academic "because i can" uses.

For the size of DB your looking at the performance quirks of each DB are unlikely to matter much.

Geraint Jones
  • 2,483
  • 16
  • 19