In our project (which is fully developed using .NET), we use a medium sized database about 2 GB in size. Currently we are using SQL Express edition;
How do the alternates for SQL Server Express perform? I am mainly considering MySQL and PostgreSQL. (Windows 7 x86, x64)
- Is there any compelling advantage to using MySQL or PostgreSQL?
- What about the native .NET object support?
- Built in XML types?
- Supporting Binary data?
- Support of a similar tool like Management Studio?
- Installation ease?
- Memory footprint?
- Performance comparisons of these 3 databases?
Is it even worth considering these alternatives, especially considering the fact that we are a .NET shop?
I have referred to these related questions:
I’m a person who doesn’t believe just because you are a .NET shop that you have to use a Microsoft SQL Server Product, although Microsoft loves it if you do. Of course it ties in really nicely with the native libraries and development tools from Microsoft. To me that’s where the advantages really stop for SQL Server and it’s more of a even playing field with other database systems.
MySQL – Stay away from it, things have gotten ugly and will get uglier now that Oracle owns it. Not worth having to pay to use a second rate open source database in my opinion when you can use PostgreSQL for free and without fear.
PostgreSQL – A really good option. BSD license is free to use and change the source. No limit on data lot’s of features. But if install time is your driving reason to leave SQL Express PostgreSQL does install pretty fast on Windows or Linux, how fast I don’t know because I don’t care if it takes 1 minute or 10 minutes on my systems. On a Linux box it’s really fast if you pre-compile it or use a package install, I would say less than 10 minutes.
What about the native .NET object support? Not sure what this is.
Built in XML types? PG yes.
Supporting Binary data? PG yes.
Support of a similar tool like Management Studio? PG yes pgadmin or a few other third party vendors.
Installation ease? Easy with more options than SQL Server. For example you can compile with different page size if you wanted to.
Memory footprint? Can be small or large depending on how you adjust memory settings.
Performance comparisons of these 3 databases? Well SQL express can’t hold more than 4 to 10GB forget how much 2008 express can do. So you aren’t comparing apples to oranges here. But I would say all of them can perform well if used correctly. PG performs very well.
Is it even worth considering this alternative (especially considering the fact that we are a .NET shop)? Yes it’s worth considering but depends if cost matters to you. My guess is at some point you will out grow the express edition and have to start buying a payed version. Microsoft knows how to sell and it’s part of the model that you will out grow express.
You can’t go wrong going with PostgreSQL if you have the chance to test it and validate it in your environment use this time to compare. Don’t just default to SQL Server because your a .NET shop.
Older post that adds to this and is even more true today.
http://archives.postgresql.org/pgsql-advocacy/2005-07/msg00008.php