tags:

views:

77

answers:

4

I am working on an enterprise level product that is designed around SQL Server Express and specifically its features (views, concurrent users, stored procedures, CASE and IF statements).

Though we don't use any advanced SQL Server features, the database size limit of 4GB in the Express edition may up being a limitation. A work-around is that customers can move to more full-featured versions of SQL Server.

The problem is that SQL Server Express deployment is not easy, and the installer size is huge. This is a major drawback for someone looking to try our product. You don't want end-users to not buy a product because the download is huge.

Does anyone have any recommendations of a database that has a smaller footprint but all the features of Express and which can be migrated to express?

+5  A: 

Check out SQL Server Compact.

Jim Lamb
Yup. Zero footprint external to the application.
Adam Crossland
my problem wih SQL compact is it does not support procedural TSQL (selet case,if) features and views. Also in a multi user environment which is what the product targets I read that the file locking mechanism hangs the program/db.
+1  A: 

If what you really need is just a relational database, you can probably use SQL Server Compact Edition or SQLite.

It depends what you're looking for when you say "all the features of Express."

Edit after comments and edited question:

It sounds like you need Express, but I hear you about the huge installer size, which will be an issue even if you embed it in your own installer ( http://msdn.microsoft.com/en-us/library/dd981032(SQL.100).aspx).

You could also offer several trial options:

  1. Use an existing SQL instance (small download + instructions to configure DB)
  2. Full, self-contained trial (big download)
  3. Demo trial (small download, single-user database; no server required)

That way companies that have running SQL/Express instances don't have to download the installer again, if they don't want it, and those who just want to see how it looks and feels can get the "demo" trial, and those who simply must have the full-fledged product are going to see and understand that the database server component is what is huge and they'll have to be a little patient for it (or call/E-mail you for a CD copy).

Jay
sqlite is good for databases that don't have heavy multiuser requirements. Be sure to read the author's web page on when not to use it.
Jay
which means it wont work for me. because people who like to try such products want to try it in the "real" multiuser environment
@super: see edit
Jay
@Jay- your list of options is exactly what we have chalked out.However problem is finding that single user database.Okie so I let the concurrent user requirement pass, even then SQL Compact does not support case,IF..THEN, or views.
+1  A: 

PostgreSQL is one of your options.

Its not smaller, around 35M packe and over 100M unpacked. But it fits your requirements by the licensing model.

It has all the features.

You can make the deployment easy because you can preconfigure the binaries version you can supply with your own software.

Users will never need to migrate because this is powerful enough (ex. Skype uses it for its backend)

EDIT: An interesting alternative may be Firebird (free, 7MB) and maybe some commercial ones like NexusDB

Imre L
what about licensing of Postgres for commercial product?
Its a BSD or MIT like: do what you with, its free.
Imre L
A: 

Check this Wikipedia article: Comparison of relational database management systems.
There's more than 50 RDBMS's listed and you'll probably find something that suits your needs.

zendar