When Conor O’Mahony briefed me about DB2 10, he kept commenting that cool features he was talking about could be found in all editions of DB2, even the free one. So I asked what the limitations were on free DB2. He researched the matter and got back to me — and they sounded like what appeared to have been the limits when free DB2 was first introduced, over 6 years ago.
I tweeted about this, and was very fortunate that Ian Bjorhovde spoke up and said it wasn’t correct. Some scrambling ensued. It seems that the main sources of error were:
- People tend to confuse DB2 Express and DB2 Express-C; only the latter is free.
- What IBM said about the limitations DB2 Express-C upon its introduction 6 years ago should not be interpreted in line with what a plain reading might suggest.
In particular, we shouldn’t take IBM’s repeated 2006 statements that
DB2 Express-C may be deployed on … on AMD or Intel x86 systems with up to 2 dual-core chips. 4 GB of memory is the maximum supported.
to mean that you were ever allowed to use DB2 Express-C with 4 cores, nor with 4 GB of RAM.
To clarify things, Conor sent over email with permission to quote, as follows:
DB2 Express-C (C for Community) was introduced in 2006. There is no charge for DB2 Express-C. When originally introduced, DB2 Express-C could use up to 2 processor cores and 2GB of RAM. As of 3 April 2012, memory entitlements were increased and DB2 Express-C can now use up to 4GB of RAM. There is no database size limit, no limit on the number of instances or databases per server, and no restriction on the number of users. The supported platforms include: Linux [x86 (32-bit), x86_64 (32- and 64-bit), PPC64 (POWER 64-bit)] and Windows [x86 (32-bit), x86_64 (64-bit)].
If you want to increase processors, memory, or supported features, DB2 Express is available at a cost that is either based on processors or users. When originally introduced, DB2 Express could use up to 2 processor cores and 4GB of RAM. In 2007, DB2 Express processor entitlements were increased to 4 processor cores. As of 3 April 2012, memory entitlements were increased and DB2 Express can now use up to 8GB of RAM.
So, to summarize: the “no charge” version is called DB2 Express-C can use up to 2 processor cores and 4GB of memory; the lowest chargeable edition is DB2 Express which can use up to 4 processor cores and 8GB of memory.
DB2 Express-C includes features like Time Travel Query, pureXML, Graph Store, Spatial Extender, SQL Compatibility, and Backup Compression. DB2 Express adds features like Label-Based Access Control and Row & Column Access Control. In addition, you can purchase the High Availability Disaster Recovery (HADR) feature for use with DB2 Express.
So if I’m reading that correctly, the real story is:
- For over 6 years, the ceiling on DB2 Express-C didn’t go up at all.
- As of this week, you can use twice as much RAM as you could 6 years ago, but still the same number of cores.
“Generous” is not the word.