The modular concept of MySQL that separates the storage engines from the SQL parser and optimizer has recently caused a number of new, independently developed storage engines to surface. Here's an incomplete selection of projects around this concept:
- DDE - Distributed Data Engine, a research project of the Technical University of Dresden
- mdbtools - a storage engine that allows readonly access to Microsoft Access .mdb database files
- PBXT - a new, transactional storage engine by Paul McCullagh
- ritmarkFS - a storage engine that represents the content of a directory as a table
- solidDB - another transactional storage engine with many features, developed by Solid.
Also check the
MySQL plugins category on the
MySQL Forge for more of these and please add more to the Forge Project directory, if you are aware of other interesting MySQL plugins!
Currently, the integration of these engines into the server is still a bit tricky, as it requires patching and recompiling of the server sources. Hopefully all this won't be required in the near future, when our truly
pluggable storage engine API in MySQL 5.1 has matured enough. It's very exciting to watch these projects to evolve.
And did you know that not only storage engines will be pluggable? MySQL 5.1 and up supports a
plugin API that will allow the loading and unloading of other server components at runtime, without having to restart the server. This is intended as a more flexible replacement of the old UDF (user defined functions) interface. It will provide more modularity in the future - currently it already provides an API to implement different
full-text parser plugins. This can be useful if you need to index context in other formats, e.g. PDF files or word documents. I am curious to see what other new plugins people will come up with in the future.