Monday, 9 April 2012
My Favorite Relational Database.
When I first started programming; I mean really programming and not just bashing websites together with HTML/CSS; I went through a huge amount of tutorials for c#. I found video tutorials a great way to learn how Visual Studio works, how to write code and how to connect to a database and show the data in a half decent way.
However, one thing I have noted with the trends in Microsoft technology is how they favor their own brands of tech over others (not surprisingly). This is ok, until it comes to relational databases! Every tutorial I went through was based on MSSQL or the compact version. Whilst I know their are jobs around for these technologies and they integrate with Visual Studio much better than anything else does at the moment; I hate MSSQL. Heres why...
One of the first ASP.NET sites that I programmed for a local company (that was stupidly simple in that it just showed workers for their business.) was a great testing ground for me to learn Linq. I so wanted to learn linq that I did the project using MSSQL as a back end. I had used it before and had nightmarish problems with deployment which I will not go in to here. (or to any one other than a psycologist. )
So I am all fired up for going into a linq2sql project and getting all the benefits of a DAL without writing it. Wahoo! However, the customer was almost immediately unhappy about certain fields that they had asked for and others that they wanted to add in. Therein lay the first problem. The changing of the database was SO slow, even (or especially) in VS. Then you have to update the DataContext which took an age!
After some time they outgrew the shared host that they had been given, and we got them set up on a Cloud server. I took the oppurtunity to change the database structure to PGSQL (which is pretty much the only RDBMS that i use now, aside from obligitory MySQL) and boom. The whole app ran like a song even on my local machine.
The next thing i noticed was the bloat of the server for MSSQL. I had a phone call from the client saying that there was an error when trying to upload a picture. I looked in to it and voila! the Harddrive was full. I thought, that's naff. There isn't that much on it. When, however, I uninstalled the now redundant MSSQL server, I had 2/3 of my hard drive back!!
So although this is only one brief chapter in my pathalogical hatred of MSSQL, I hope that it will warn young devs away from the evil that lurks behind every VS tutorial.
PS. I am now writing an app using MongoDB and I would highly recommend that as well as MVC as it is so nice not to be patronized (as much) by VS!