A murder of Ravens
In the last 96 hours, I slept a total of 6 (all of them while I was on a plane and had no electricity, so I couldn’t work).
All the rest of my time was pretty much focused on doing crazy stuff with RavenDB. I am very happy to say that I (with a lot of help from Rob Ashton), have managed to really push what RavenDB can do. In particular, about 5 minutes ago I finished the last touch required to get RavenDB to run using fully managed storage.
And yes, this means that we will have a Mono build shortly.
The crazy part is that a week ago I would have said that managed storage would be the feature for RavenDB, but it is actually the case that it is on an equal footing with a few others that we recently added. We have been so busy adding those features, and working through the implication of having those features, that we didn’t have time to sit down and document & explain them properly.
No worries, this is coming. In fact, this is what I intend to do for most of tomorrow (at least, as soon as I wake up).
Ayende the excited.
Comments
What does managed storage mean? You sound excited about it, it must be something good :)
I think what he means is that RavenDB currently uses essent, which is a native windows storage component, thats why raven never had a build for mono.
Managed storage means a data-store built from the ground up on top of .net infrastructure.
Ayende, I always wondered any reason you didnt use an existing unmanaged storage that run both on windows and linux, e.g. mongodb.
Oops.. by mongodb i meant memcacheDB..
Or berkeley-db.. or rafter of other similar things
I thought you already knew from your own experience that you can burn yourself without sleep :)
Ayende, you may be interested in Membase (its new) from the Memcached team: http://membase.org/
Its NOT the MembaseDB project; its a simple system to setup memcache servers that also persist to disk and have replicas.
May be ideal for RavenDB?
Hendry,
MemcacheDB is sitting on BDB.
I have had some experience with using BDB, and it wasn't fun.
ayende.com/.../...tions-on-Embedded-databases.aspx
ayende.com/.../Bug-magnetAgain.aspx
ayende.com/.../In-search-of-an-embedded-DB.aspx
There are also licensing issues with using BDB if I want to use it commercially, since it then costs $5,800.00 pr processor.
Andrew,
Probably not.
a) it does things that I don't need.
b) it uses unmanaged code, and I really want to be able to run things in Silverlight, or on the phone.
so then how does this change deal with the app domain problem you had?
RavenDB uses Esent under the covers to handle storage. That means that the storage itself doesn’t really care for app domains, since it isn't managed code."
From what I understood of that post (and the little I already knew) it'll be hard to share the managed storage across app domains.
Patrick,
We manage :-)
We basically send the file to the second app domain and read from the file.
Hope you didn't wake up only to realiza that this great work was only a dream
I take it this means Raven can be used on compact framework devices?
Maybe,
it would need to be ported, but it could be, very easily
Any plans to use the managed storage engine for RQ/ESB? Or does this not apply?
Yes, we have an plan of doing a Rhino Queues 2.0 (different name, though) with this
Sweet!
Does this mean we'll be able to get RavenDB to run in medium trust? That would be fantastic for hosted sites.
Brian,
Yes
Real good news to have Managed Storage in Raven, since I had the honor of listening you and Rob Ashton speaking about these features at dinner in Bologna (I remember the feature list on the waitress block notes), I'm astonished that you got it implemented in so small amount of time :).
Anyway, I think you should need to relax more :) 6 hours of sleep in a 96 is not exactly good for the body :).
Alk.
Comment preview