Question

I'm starting a new project here (Windows Forms). What's the best option today for a small (free as in beer) DBMS?

I've used SQL Server Express on the past projects, but time and time again I hear people saying that the product from Oracle is faster and more powerful.

It will be used in a small company (around 20 users) and will not reach the 4 GB limit any time soon :)

I don't want to start a flame war on my first post, so please point me to some link showing a good (and actual) comparison between the 2 products, if possible.

PS: I've heard about IBM DB2 Express too, but I coudn't find any information about it. (Marketing material from IBM doesn't count :) )

Was it helpful?

Solution

Sorry, no link, but one advice. Because we support Oracle and SQL Server, I know that getting fixes for the 'normal' Oracle database, is not something what I call fun. You have to pay for it, and if you have no tool which updates your Oracle system for you, it's a pain in the a.., if you ask me. Check out how the Oracle XE is supported with updates/fixes. I don't know, I only use the 'normal' Oracle (Developer) database.

OTHER TIPS

I would go for the SQL Server Express solution, unless you absolutely have to use a feature in Oracle that SQL Server does not have and you have no usable workaround.

Example of Oracle's strengths:

  • Analytical Functions in Oracle ROCK!
  • PL/SQL is better than T-SQL.
  • If you're going to scale up the system to 1,000's of users all updating the same small dataset
  • You scale upto multi-TB databases,
  • You need to scale to need big numbers of CPU's in your server (over 8).
  • need instant failover (RAC)
  • you really cannot afford to lose a transaction.

Maybe you can tell, I'm a big Oracle fan! But I think that Oracle Express is a commercial reaction to SQL Server Express and I don't think Oracle really deep deep down likes it.

  • You know with SQL Server that there is an upgrade path (SQL Server 2008 is soon) plus service packs.
  • SQL Express is also more "install and forget" than Oracle.
  • and it will integrate better with your IDE (if your using .NET)

In terms of speed, both are going to be lighting quick with such a small dataset size.

It would be hard to argue either way given the needs you outlined, that either would shine over the other.

What I will say is this:

  1. You say you are already familar with SSExpress, then that is a good reason to stick with it
  2. IMHO the tools with SSExpress are superior and easier to use than the Oracle equivalent

That said, I have much more experience with SS than Oracle so YMMV.

I think it's great to rethink things every once in a while and that it's very smart to consider alternative products when you are at a junction to do so.

If you are comfortable optimizing systems and are dba level in skills, I'd consider PostgreSQL. I do not consider myself a dba and have middling database skills and find SQL Server Express extremely easy to use. Also, I've had products exceed the limits of SQL Server Express - the transition to SQL Server Standard/Enterprise is seemless.

I realize that this doesn't matter at a technical level, but Larry Ellison buys jets and prostitutes with his profit. Bill Gates is solving problems of immense importance to humanity with his. All things being equal, I always prefer to give my money to Bill Gates.

Both of KiwiBastard's points are very good and I completely agree with him.

If you really want a free alternative that is similar to MS SQL and supports growth should you need it, you could have a look at MySQL or PostgreSQL. SQLite also seems a good choice. Surely you can afford an old Linux server if you work in a company with 20 employees.

100% SQL Express, more easy to install and maintain than Oracle.

IMHO the major problem with SQL Server, has for a long time been, no multi-version read consistency. Fortunately this has been corrected since SQL Server 2005 with the snapshot isolation level.

If your looking for a good RDBMS for a small project requring minimal knowledge for maintenance, SQL Server Express Edition is a good pick. The SQL Server Express Edition UI is much easier to understand than RMAN or the "easier"-to-use backup scripts included with Oracle Database XE which requires offlining your database.

Oracle Database XE is on my *** list. They recently released an ODBC driver for Linux that wasn't compiled properly (ld returns missing symbols for required ODBC functions) to be at all usable (10.2.0.4). With this kind of lack of attention to any reasonable amount of QA even for a 'free' product I would think twice about going down that road.

For DB2 Express-C see:

"DB2 Express-C™ is the free version of one of the most advanced database management systems in the world. Why pay when you can have all you need for free? DB2 Express-C is free to develop, deploy and distribute.

It is a fast, secure, reliable, and amazingly scalable dataserver, ideal for most startups and small/medium sized businesses. DB2 Express-C 9.7 is available on Linux, Unix, Windows, and now Mac OS X as well! It also enables developers to easily handle XML through the native storage technology called pureXML™. Whether you develop in Java, .Net, Ruby, Python, Perl or pretty much any other programming language out there, DB2 can be your technological advantage."

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top