I have been trying to compare the features of the SQL Server Express, Oracle XE and DB2 Express-C, but find it difficult to compile all the differences into one place. Especially the current differences as this is a constantly shifting battle field. Anyone have this information on hand or know of someone who tracks this? To the best of my knowledge:

  1. DB2 Express-C (10.5)
    • cores: 2
    • mem: 16G (4G before 10.5)
    • size: 15 terabytes of user data per database
  2. Oracle Express Edition (11g)
    • cores: 1
    • mem: 1G
    • size: 11G
  3. SQL Server Express (2012)
    • cores: lesser of 1 socket or 4 cores
    • mem: 1G
    • size: 10G

Other than these obvious measures, what am I missing? I know I could go with open source as well, and MySQL and PostgreSQL are both certainly viable solutions, but for the sake of argument, lets limit it to just these 3 options. In my view, DB2 is the clear cut winner.

Another article on this subject can be found here.

  • 1
    I would make the decision based on the programming language you plan to use, for example C# pairs quite well with SQL Server...php tends to pair well with MySQL. – Nate Aug 31 '12 at 20:23
  • 1
    FWIW, DB2 claims it is the only one that implements the full SQL core standards. – WarrenT Aug 31 '12 at 20:47
  • 2
    What operating environment are you in (Windows, Linux, Solaris, mixture)? What OS does your application that will use this database sit on? I would also look at which RDMS offers the easiest management (e.g. SQL Server does some things on the backend automagically that Oracle or DB2 may not). – Shawn Melton Sep 1 '12 at 19:42
  • 2
    Can't speak to Oracle and SQLServer, but DB2 Express-C is the full blown DB2. It is just limited by a license to specific number of CPU/memory and also certain features "turned off". But the advantage if you want to "upgrade" to Enterprise Edition is that you don't technically have to reinstall. You just apply the Enterprise Edition license and you are off. – Chris Aldrich Sep 5 '12 at 12:47

I think you are missing couple important parameters. If you believe the project will advance , you have to keep in mind that one day you will need to switch to non-express version. And at that point license cost becomes very important; switching to another RDMS may require serious refactoring (and usually it does). For startup project I'd not pay too much attention to hardware configuration supported in express version, I'm pretty sure even the lowest will work fine. More important thing in my opinion is DBA's skills; in practice, not so many database professionals are equally good in all RDMS. So ask your DBA which server she/he would prefer before making a decision.

  • Good advise. Check with DBA to verify support once in production. – Nate Sep 1 '12 at 17:29

In my view, DB2 is the clear cut winner.

What about PostgreSQL:

  • cores: unlimited
  • mem: unlimited
  • size: unlimited
  • license: PostgreSQL (BSD style)

imho, PostgreSQL beats all Express/cripled databases.

  • 2
    +1 might be good to mention security patches (or the lack of them) on some of the Express Editions – Jack Douglas Sep 1 '12 at 18:34
  • 1
    Valid point on PostgresSQL, but has had performance issues in the past. I hear it has made vast improvements on that front lately, but have not compared. BTW, your personal icon seems to resemble the postgres icon iirc :) – Lucas Sep 2 '12 at 18:47
  • 1
    What performance issues? We do an average 2500 transactions per second on a 5TB database (and growing), works fine. Just moved from 9.0 to 9.1, no difference in performance, both are fine. Version 9.2 should be faster, but we didn't test it yet. We don't have enough load either, we need more customers. – Frank Heikens Sep 3 '12 at 7:00
  • 1
    @FrankHeikens, really? That is impressive. I'm only dealing with 40G at the moment. Data import is the bulk of my processing. About a 1.5 million records weekly, normalized, compared and insert/updated. The main table currently has 100M records and 3 others over 50M. Import is taking around 24 hours using DB2 express 9 (limit 2 gig ram/2 core). What kind of hardware are you using for your 5T database? – Lucas Sep 5 '12 at 15:00
  • 2
    It's a 3 year old 24 core machine with 48 disks in RAID 10 (7.2TB in total), but it uses just 6 cores, the rest is idle. A new 8 core processor can handle the same load on it's own. We import 30 million records per day, but it depends on how busy our customers are. It's a master-slave configuration, with automatic failover. It works fine, is fast and reliable. What else do you want? A good price? Well, it's for free :-) – Frank Heikens Sep 5 '12 at 17:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.