views:

226

answers:

3

I am about to start building a ASP.NET MVC web application that relies on a database as it's backend (big surprise).

As a student, I have access (via Dreamspark) to SQL Server 2008 Developer Edition, and with the default VS 2008 install, I have SQL Server Express 2005 installed already.

Many of the examples on MVC I have seen use a local .mdf (SQL database) as their backend.

My question is:

Should I use a local database file for initial development and design? (SQL Server Express) or should I install the 2008 dev edition and use a "proper" database instead?

This is an application that I eventually intend to launch as a public site, so I'm looking to build for that.

+1  A: 

You can develop an ASP.NET MVC application using any of them. Express edition is ok for basic application unless you have a high load application that requires enterprise features.

If you intent to launch the application live then it depends on the traffic the application will have. Also, as far as I know Developer edition is for developers only and cannot be used in production environment.

Giorgi
+3  A: 

Before you start using the Development edition, you need to be aware what it is and what the limitations are of you using it.

SQLExpress is perfectly fine for using, both for dev and when you release your product. It has the same engine as SQL Standard, but with a couple restrictions in place, such as a max file size of 4GB (and i think it also has a RAM limit, but not sure on that one). You are allowed to use SQL Express as the backend for your website with no extra licencing costs (i.e. - free). I have worked at one place where they worked out a system of chaining several instances of SQL Express together just to get round the 4GB file limit - but be aware that this may contravene the licence of it.

SQL Developer is actually SQL Enterprise, but without the install time restriction on OS. You are also not permitted to use SQL Developer in production (i.e. for your live app). For most purposes whatever you code on SQL Developer can also execute on SQL express, but you have to be careful not to use any of the Enterprise features - licencing Enterprise can be a pricey option.

So go ahead and use SQL Express, it is a good option.

P.S. - i am assuming that your database won't be high load - if it is then you would need to consider either Standard or Enterprise.

slugster
Great description of how SQL Express is managed, looks like I'll stick with SQL Express. Now to decide whether to upgrade to 2008.
Alastair Pitts
+1  A: 

Many of the examples on MVC I have seen use a local .mdf (SQL database) as their backend.

This is only because it's very easy to provide physical .mdf files with demos and examples (instead of database scripts or something similar). You would find .mdf files in many tutorials, and this has nothing to do with ASP.NET MVC itself. The examples you have seen most likely all use ADO.NET, which works the same in any application.

Regardless of database provider , you should stress-test your web application to find out just how many concurrent users and how many requests per second you can handle.

Here, have a good article on improving performance with ASP.NET MVC web applications.

bzlm