We’ve had a couple of people ask us why Graffiti uses Microsoft Access instead of SQL Express. I wanted to explain the decision and also point out that Graffiti will run just fine on SQL Express as well as SQL Server 2000 or SQL Server 2005. With our commercial edition you’ll actually be able to choose between Access or SQL Server.
We decided to use Microsoft Access instead of SQL Express because we know that the majority of customers that would deploy Graffiti would do so on servers that were hosting hundreds, if not thousands, of other sites.
As Scott Guthrie states, “SQL Express is is good for dedicated hosting scenarios, and for scenarios where you have a small number (4-10) customers on a box (where each can get their own instance of SQL Express)” he continues “When you have 100-1000 customers on a box (massive shared hosting), having a separate instance of SQL Express for each customer doesn’t scale. That is where/why you’d want to use SQL Server — and carve up a separate database for each customer.”
A lot of people in the Microsoft developer community have been really disappointed that SQL Express didn’t live up to its expectations: a realistic replacement for scenarios where a simple light-weight copy-and-deploy database was required. Believe me, we’d much rather use SQL Server!
The other challenge is that many hosting companies still charge a premium for SQL Server storage. From our perspective it was more important to keep the following barriers to entry as low as possible:
- Hosting costs at as low a cost as possible. Hosting companies typically don’t charge for use of Access databases.
- Install and setup as simple as possible. Access allows the install process to literally be as simple as getting the files on the server.
Hope that helps!