Ayende @ Rahien

Refunds available at head office

Why LevelDB, all of a sudden?

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.

Tags:

Posted By: Ayende Rahien

Published at

Originally posted at

Comments

Khalid Abuhakmeh
06/18/2013 12:30 PM by
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
06/18/2013 01:57 PM by
Ayende Rahien

Khalid, We plan on offering that in 3.0

Phillip Haydon
06/26/2013 09:12 AM by
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!

Scooletz
06/26/2013 09:29 AM by
Scooletz

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

Bob
06/26/2013 10:55 AM by
Bob

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

Scott
06/26/2013 02:38 PM by
Scott

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

JDice
06/26/2013 03:20 PM by
JDice

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
06/26/2013 08:16 PM by
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
06/26/2013 08:18 PM by
Ayende Rahien

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

Ayende Rahien
06/26/2013 08:18 PM by
Ayende Rahien

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

Ayende Rahien
06/26/2013 08:18 PM by
Ayende Rahien

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

stacey
06/27/2013 03:40 PM by
stacey

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 ...

Bob
07/11/2013 01:43 PM by
Bob

http://en.wikipedia.org/wiki/ExtensibleStorageEngine

Bob
07/15/2013 09:03 AM by
Bob

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 ;)

Comments have been closed on this topic.