I wonder how much longer the ARCHIVE storage engine is going to
ship with MySQL…. I think I’m the last person to actually fix a
bug in it, and that was, well, a good number of years ago now. It
was created to solve a simple problem: write once read hardly
ever. Useful for logs and the like. A zlib stream of rows in a
file.
You can actually easily beat ARCHIVE for INSERT speed with a
non-indexed MyISAM table, and with things like TokuDB around you
can probably get pretty close to compression while at the same
time having these things known as “indexes”.
ARCHIVE for a long time held this niche though and was widely and
quietly used (and likely still is). It has the great benefit of
being fairly lightweight – it’s only about 2500 lines of code
(1130 if you exclude azio.c, the slightly modified gzio.c from
zlib).
It also use the table discovery mechanism that NDB uses. If you
remove the FRM file for an ARCHIVE …
[Read more]