MySQL's pluggable storage engines have generated a lot of excitement recently. A wide variety of storage engines are coming out, each designed to meet some particular aspect of storage requirements.
The CSV engine allows MySQL to access comma separated value files directly. The same file can be read and edited with a spreadsheet program, like Excel, or a text editor, without having to port back and forth between file formats.
The ARCHIVE engine is designed to store large amounts of data in a small space. The rows are compressed (using zlib) as they are inserted, and are decompressed on select. ARCHIVE is a good choice for storing log files.
FEDERATED allows one server to treat another server's tables as if they were local. That means you can write statements with JOIN or UNION between tables stored on separate servers, and you can use 5.0 syntax (including views, stored procedures, the information_schema) with tables stored on an older server. Be careful when doing so, however -- in some circumstances, the remote server must send the entire table over the network to complete the join.
EXAMPLE is a basic skeleton, intended to provide a starting point for writing your own storage engine. Some recent engines stemming from EXAMPLE include an HTTP engine, that allows maps SELECT and INSERT to HTTP GET and PUT requests, and a file storage engine, much like the CSV engine but able handle a variety of field delimiters.
This was first published in May 2007