Is there s significant difference between the two? MySQL is used by YouTube, Google and Facebook while DB2 has the highest benchmark scores. Are there areas or cases where using a specific one would matter? Like size wise it is said that DB2 is really good on very small and very large databases (not sure why).
Any feedback or suggestions?
P.S. I’m more looking for functionality and capability differences.
DB2 is a real database manager, as Oracle, Informix, Sybase or MS SQL Server are.
MySQL is used to store data, but it is not a database with all the necessary features that a it implies.
For example:
DB2 has used the relation integrity from the beginning, not like MySQL that included this characteristic (since version 5, I think) and this feature is a fundamental part of a database (relational model according to Ted Codd’s paper).
DB2 exploits the file system/storage, it uses different kinds of tablespaces to extract the data as fast as it can from the physical device. MySQL implement part of this feature, but not so long ago.
DB2 has different editions; the basic free edition, which is call Express-C, incorporates basic features, and just with that, it is even more powerful than MySQL.
The price is other factor. In the past, MySQL was an interesting Open Source project, but now it is part of Oracle. Currently, Oracle has finished the support to many of the Open Source projects that came from Sun (OpenOffice.org, Grid Engine, etc.) and we do not know the future plans for this database. Instead, IBM has released this basic version for “free” and the big blue keeps releasing the most recent version for free.
DB2 can run in many platforms: Windows, Linux, UNIX (AIX, HP-UX, Solaris). MySQL cannot run in all of them.
DB2 has many tools and features: disaster recovery (backup online/backup merge, restore full/incremental/delta); High availability (HADR); capability to scale to PureScale (DB in cluster); stores XML natively and retrieves them via xQuery/xPath; different isolation level; capability to write store procedures with SQL PL (IBM languange) and PL/SQL (Oracle language); automatic memory management (buffer pools, and other memory elements); and many many others features.
Many of these characteristics are included in the Express-C edition which is free.