Monday, April 30, 2007

MySQL Conference 2007

The 2007 MySQL Conference is over, and I finally made it back home. I have some notes on some of the sessions, which really aren't that great, so if you want to see what you missed, you should read Planet MySQL. But I will give some of the highlights.

There's a lot of new development around storage engines.

MySQL-5.1 has a pluggable storage engine architecture which allows you to load and unload storage engines while the server is running. Brian Aker explained that this is for cases where you have a stable server setup and only want to upgrade the storage engine. All the storage engines in 5.1 are pluggable, and there are already some third-party proprietary storage engines available.

One of the relatively new third-party storage engines is SolidDB. Solid has been around for quite awhile. In fact, I was using Solid for a project in the late 1990's before I started using MySQL.

IBM announced a partnership with MySQL AB to create a DB2 storage engine, but so far this is only on their i5/OS mainframe platform.

InnoDB is still very much alive and well, despite being purchased a year and a half ago by Oracle. In fact, InnoDB OY has already renewed their OEM agreement with MySQL AB until at least mid-2009, so there is no danger of current InnoDB users being cut off.

Falcon is a new storage engine which will be part of MySQL-6.0 (2008); alpha versions are available now, and a beta is expected later this year.

NitroEDB is a storage engine designed to handle heavy insert loads, and for fast aggregate queries. Aggregate values are stored in the index, so many aggregate functions can be evaluated just by looking at a couple of index values.

ScaleDB uses a Patricia trie index which is highly compressed compared to a B-tree. The implementation has three relatively small in-memory index layers on top of the trie which minimized disk access.

MySQL-5.1 adds log tables: The general and slow query logs can be set (on the fly) to record into tables instead of flag log files. The only supported engines for log tables are MyISAM and CSV.

Coolest presentation: Maybe The Declarative Power of Views. Basically, this is using SQL like Prolog, and creating an expert system with a couple of views.

Monty Taylor of MySQL AB has wrapped the NDB cluster API with Swig and come up with some APIs for various languages, including Python, and then created a patch for SQLAlchemy so that it could bypass using any SQL for object storage.

Jess Balint of MySQL AB has written a pure Python MySQL driver that looks pretty functional. I'll have more on this in my next post...

I held a BoF session for Python users. Considering how late I scheduled it, and that it was up against the MySQL Quiz Show, I had a pretty good turnout. Several MySQL-python users actually had vendor booths: Google uses MySQL (mostly 4.0) and Python for some of their (undisclosed) back-end processes. YouTube (now owned by Google) uses MySQL and Python for some of their user profile stuff. SnapLogic has a new data integration project written in Python which is using MySQLdb, and presumably other database backends. I seem to remember the NitroSecurity people were using it as well.

All-in-all, it was a great conference, and O'Reilly kept us all well-fed. Next conference starts April 15, 2008. I'll have to try to be a little better organized for that one.

Monday, April 9, 2007

Projects which use MySQLdb

I'm putting together a page of projects which use MySQLdb. If your project is not on this list, leave a comment, with a URL and brief description, and I'll check it out.