?

Log in

No account? Create an account

DB2, Storage Engine Summit, Pokemon...

« previous entry | next entry »
Apr. 25th, 2007 | 09:13 am

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

http://www-03.ibm.com/press/us/en/pressrelease/21430.wss

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 :)

Link | Leave a comment | Share

Comments {2}

Federated engine ?

from: georgekodinov
date: Apr. 26th, 2007 08:31 am (UTC)
Link

Why would MS SQL Server need to "show up" when there's the nice federated engine ?
It can handle MS SQL Server and Oracle and DB/2 and in a pluggable fashion : just make it use (i)ODBC (or JDBC, or .NET adapters ...).
Why would you want to "link in" to database engines when there's a perfectly good way to execute code in them as they are ?

Reply | Thread

Brian "Krow" Aker

Re: Federated engine ?

from: krow
date: Apr. 26th, 2007 03:39 pm (UTC)
Link

Why link to another database? Its about federating data. I have data in one database, and I need to join it against data in another database... why pull data out of the databases and do this in your application?

Reply | Parent | Thread