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.