Search This Blog

14 October 2008

Amira has landed

What or who is Amira?

Well... Many would know Amira is to David as My is to Monty.

Amira also has all the same letters as Maria, except that it is in PDP "middle-endian" byte order.

It is also the codename of a little known project while I was at MySQL: Soon after Oracle acquired Innobase OY, the powers that be at MySQL did not want to solely rely on InnoDB (or BerkeleyDB) as a transactional data store, mostly because they are both now owned by Oracle. So they shopped around, courted Jim Starkey, Monty wanted to do his own, or we can dig something out of the attic. Amira was the codename for the revival of the Gemini storage engine.

I admit, I have procrastinated for ages over this topic. Brain even put on his website the original sources and gave me a nudge... So I have now published the source to Launchpad.

Here it is at

The plugin for MySQL 5.1 is far from complete and is the result of a couple of hours hacking I did yesterday. It builds but I can guarantee it will crash =)
It will take me a few weeks to fix it up to make it useful.

Alternatively, it should be possible to use the 5.0 version with only a few small patches into the server code. Unfortunately, I do not have a functional BitKeeper license to extract all the release versions of Amira which were internally built and tested - which is a shame. some of the earlier builds were quite stable and fast but at the time the project was canceled, there was a number of destabilizing changes done for performance improvements.
I'll have to try to remember what is was that I was doing in order to either complete the change or to back it out.

Closed-source revision control is not very useful.


Dave said...


I've had a look around on Google but can't seem to find any comparisons of Gemini/Amira Vs InnoDB. Do you have any rough facts or figures you could dig out?


Elliot "statik": Murphy said...

Hi Antony, thanks for publishing this. If you have the old BK repo around I can try converting the full history to bzr for you.