Log in

No account? Create an account
entries friends calendar profile My Website Previous Previous Next Next
Mark Atwood
I really need a better Example Storage Engine
At my current gig, we're trying to make a custom storage engine do something rather out of the ordinary.

Which isn't really a surprise, all new storage engines try to do something "out of the ordinary". If you need "ordinary", just use MyISAM or InnoDB. (Those two engines are, themselves, rather extraordinary...)

But in the process of trying to hunt one particular thing down, I am wishing again for a storage engine that is completely utterly blandly ordinary.

An example storage engine that has no tricks, no performance hacks, no elegant data structures, no clever code, and yet actually works, able to insert, update, delete, and select real data.

My "piggy engine" would be perfect, if I ever get around to finishing it.


4 comments or Leave a comment
From: atcurtis Date: September 17th, 2008 04:40 am (UTC) (Link)

Example storage engine

I have 5 storage engines in various states of "in progress"...

ramlog - simple memory based log-structured transactional storage engine.
rammvcc - simple memory based MVCC transactional storage engine.
amira - The old Gemini storage engine, but 10x faster.
amira2 - A 64bit safe portable rewrite of Amira.
snook - disk-based log-structured storage engine.

Of them, the first two are probably of most interest to the majority of people because they can be used as a foundation for transactional storage engines... Just a matter of bolting on some mechanism to persist the data to disk.

fallenpegasus From: fallenpegasus Date: September 17th, 2008 07:47 am (UTC) (Link)

Re: Example storage engine

What was the Gemini engine?

From: atcurtis Date: September 17th, 2008 01:51 pm (UTC) (Link)

Re: Example storage engine

Gemini was the storage engine behind NuSphere MySQL and IIRC it shares a common ancestor with the SolidDB storage engine.

Things got a little ugly due to trademark and GPL dispute between MySQL AB and NuSphere Inc. Gemini was released only as a binary and "ha_gemini.cc" only contained code to load the binary shared library - this was not in the spirit of open-source. Also, by calling their product "NuSphere MySQL" they kinda misappropriated the MySQL trademark.

This review has a few short sentences about Gemini.
The product which started the lawsuits.

I have some further documentation on Gemini but I don't think I can release them on the web.
The review above states that Gemini supports only around 1000 tables. With Amira, this limit was raised to around 32000. Hakan performed some serious stress and performance testing on Amira during late 2005 to early 2006. You can ask him about his objective testing and comparisons between Amira, Innobase and Falcon.
fallenpegasus From: fallenpegasus Date: September 17th, 2008 05:27 pm (UTC) (Link)

Re: Example storage engine

You should port them all to Drizzle. :)
4 comments or Leave a comment