The database dilemma

by Pascal Parent 2. January 2009 21:01

Read this article in your language IT | EN | DE | ES

In a hosted environment the choice of databases is obvious, either Microsoft SQL or MySQL. However, there are other possibilities to store data such as XML, Microsoft Access and why exclude SQL Lite. All of these should work fine in a shared host environment which is my target. In fact for testing purposed I have hosting at GoDaddy.com, if it does not work there it’s back to the drawing board. The URL will be www.projectbanana.net, not that there is anything there yet.

So we are spoiled for choice in the database realm, I will pick the following:

  • Microsoft SQL 2005, 2008 and Express even tough i have not heard of a hosting company using express it help during development.
  • MySQL 4 and 5
  • SQL Lite

Initially, I will only focus on Microsoft SQL 2005 Express keeping in mind the other two. The next question becomes how to access the databases? The fact is that I do not want to have to write different providers for different databases. The possible and first choice is an ORM, luckily for us Microsoft gives us the ADO.NET Entity Framework, however GoDaddy does not run version 3.5 SP1 yet. So maybe an alternative would be more viable, the ALT.NET community gives us NHibernate for .NET but NHibernate is not Linq enabled yet. For that matter, one could say that there are some issues with the ADO.NET Entity Framework too, the .NET connector for MySQL is not EF ready yet either and all there is to reassure us that it will happen is this entry  by Reggie Burnett in May 2008 and then this one here. But the pressure is building and I expect it to come soon enough. The bottom line is that I cannot wait for either of these to happen. So ADO.NET Entity Framework it will be and if I shoot my self in the foot, I will have to rewrite the entire Data Access Layer. I wander about Subsonic though, they support SQL Server 2000 or 2005, MySQL, or Oracle with SQLLite, SQLCE, and PostGres coming soon according to their page not to mention Linq in the soon to come version 3. So I may have been hasty on my decision, watch for an update.

The good news is that SQL Lite’s ADO.NET provider supports ADO.NET Entity Framework, one less worry. What about other databases such as Oracle, Sybase and others? They do not seem too concerned about EF and they will tell you that there are 3rd party ADO.NET providers available. As for ORMs here is a list I found.

Next a short discussion on standards, components and patterns.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Tags: ,

Comments

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010 The ASP.NET Guy