Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,128 | Comments: 45,549

filter by tags archive

Why LevelDB, all of a sudden?

time to read 2 min | 231 words

Something that is no one really seems to be asking is why we started doing all this work with LevelDB all of a sudden. We already have an industry grade solution for storage with Esent. Sure, it doesn’t work with Linux, and that is somewhat important for us. But you would be wrong if you thought that this was why we pursue this.

To be perfectly honest, we want a storage solution that is on our control. Something that we can work with, tweak and understand all on our own. Just about every other tidbit of RavenDB is something that we have full transparency into. Sure, I’ll be the first to admit that I haven’t been through every single line of code in the Lucene codebase, but when we run into problems there, I was able to go into the code and fix stuff.

Esent has been incredibly useful for us, and it has been very stable. But to be able to tweak every last erg of performance and speed, we really need to have a lot more control over the storage layer than we currently have. And no, that doesn’t mean that we are going to abandon Esent. It merely means that we want to have options. And even in our early spikes ,the sort of things our managed implementation of LevelDB provides make implementing things a real breeze.


Khalid Abuhakmeh

When do you think you'll have a useable version of RavenDB with LevelDB? Seems like this would take RavenDB to the next Level (pun intended).

Ayende Rahien

Khalid, We plan on offering that in 3.0

Phillip Haydon

Ayende, by that do you mean we will get it when 3.0 is released or we will get unstable builds towards the end of 2.0 prior to 3.0 being released?

I'm doing some stuff with Azure + Ubuntu + Mono at the moment, would love to try it out and blog about it!


Will the LevelDB implementation for RavenDB be available separately? If so, will you publish it under BSD, MIT or Appache?


Not very patriotic, JET Blue got it's name from the color or Israel's flag ;)


Have you been able to get any decent performance comparisons yet?


I'd be interested in hearing about the potential performance comparison of esent vs. your leveldb implementation. Any early numbers you can share?

Ayende Rahien

Philip, You'll get it in the 3.0 timeframe, I am not sure when we will have something that you can test. We already started 3.0 unstable builds, but they aren't including leveldb storage yet.

Ayende Rahien

Scooletz, I am not sure right now. It will probably not be available on a BSD like license, though.

Ayende Rahien

Bob, I didn't know that. What is your source?

Ayende Rahien

Scott, It is way too early to do perf comparisons yet.


I'm not too concerned about the sudden shift to LevelDB as long as it is in the hands of hibernating rhinos. You guys know what you are doing way better than I do ...




Hello Mr Rahien :)

"JET Blue got it's name from the color or Israel's flag" is from the Wikipedia page on the engine.

Big fan of yours BTW ;)

Comment preview

Comments have been closed on this topic.


  1. The worker pattern - 2 days from now

There are posts all the way to May 30, 2016


  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats