Taking it one step further, DB2 will also be available as a storage engine behind a MySQL front end, just as the popular MyISAM and InnoDB table types are today.
The technology is still off in the future, and even then has only been announced for System i, but it opens the door to some interesting possibilities.
I don’t work for the group at IBM responsible for this technology, nor do I know what their detailed plans are, but here’s how I see the potential behind this collaboration.
You’ll be able to…
- Run MySQL natively on i5/OS
Can’t say I’ve ever built an application consisting wholly of the MySQL Server, but this is the foundation that makes everything else possible.
- Run third-party applications built for MySQL and PHP on System i without modification
Paired with strong PHP support, the entire ecosystem of third-party apps would now be available on this platform and none the wiser to their environment.
- Enable existing data stored in DB2 to be accessed through MySQL
Imagine you’re using a scripting language or application framework that has a MySQL driver, but a driver for DB2 is incomplete, unstable, or simply doesn’t exist. MySQL could be the glue.
- Use MySQL itself as a de facto database abstraction layer
MySQL is a relatively small download. What if instead of writing database-agnostic SQL or working through a PHP-based or C-based abstraction layer you could use the database server itself to translate your calls, and simply program to the mysqli_* API?
- Manage access levels and tweak performance based on user type
If you store your data in a DB2 storage engine, and provide access to it to two separate user communities; read-only Web visitors through the MySQL Server and read/write internal content editors through the standard DB2 clients, you’ve given yourself more flexibility to manage privileges, caching, and performance settings.
It seems there will be a lot of intriguing options available to developers as this cooperation between IBM and MySQL evolves. These are just some of my first thoughts on what might be possible.
I’d love to find out more from the folks working to make this happen, and hear what else might be possible from other developers in the community at large.