The storage engine API has never been my favorite
part of MySQL. I haven't written a storage engine but I used to
maintain a custom storage engine and migrated that from 4.0 to
5.0 so I had some experience with the API.
Is there a different API that would make it easier for
innovation to come to MySQL/MariaDB? For example there is a
lot going on in the write-optimized database space. Until
recently we had nothing for MySQL open-source. Now we have
open source TokuDB (great news). I haven't read their source
but I have been told they use something that was derived from
the BerkeleyDB API.
Would the BerkeleyDB API make it easier to get new storage
engines into MySQL? For example, we don't have an engine
optimized for in-memory workloads. And while InnoDB will have
great cache hit rates when all data is in-memory. It might
write much more data to disk than required.
Do we need a better API or is the current code good enough?
I hope to hear from people who have done serious storage
engine work.
--
Mark Callaghan
mdcallag@gmail.com