Brian "Krow" Aker (krow) wrote,
Brian "Krow" Aker

DB2, Storage Engine Summit, Pokemon...

So by now you know about the DB2 storage engine for MySQL....

I'm getting questions on how this can possibly work.

The answer is that MySQL Storage Engine layer is flexible, and most databases are designed around a stack that can work with it.

Databases parse, optimize, and fetch data. We have integrated engines at all levels of this stack. Some engines even work with a combination of layers.

Let us take Innodb for example. It has its own, though small, stored procedure language. We integrate for most queries with what is the optimizer layer in Innodb. We open up cursors inside of Innodb and then read those cursors. What happens when you do a rename table on an Innodb table? It executes a stored procedure to update Innodb's own internal data dictionary. Innodb is an example that uses two layers.

An engine like NDB, aka MySQL Cluster, takes components of the WHERE clauses predicates and pushes those down to its optimizer.

The Federated engine rewrites the entire internal structures back into SQL queries :)

And on the opposite end of the spectrum? We had the Berkeley database working inside of MySQL for years. It has no parser, no optimizer, it is just a straight storage engine.

So how can you make an engine like DB2 work inside of MySQL? The answer is that it being a database, has all of the same moving parts as any other engine. Making DB2 work is about linking DB2 to the right calls in MySQL.

The real question in my mind from announcement?

When am I going to see Microsoft show up with SQL Server :)
  • Post a new comment


    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded