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.
Comments
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).
Khalid, We plan on offering that in 3.0
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?
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.
Scooletz, I am not sure right now. It will probably not be available on a BSD like license, though.
Bob, I didn't know that. What is your source?
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 ...
http://en.wikipedia.org/wiki/Extensible_Storage_Engine
Bob, what do you mean?
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