I just spent some time, with the context of this discussion, review the very excellent rucksack code base. I think that most of the facilities needed by our datastore are quite congruent with what Arthur did to implement his system.

If we really want to get going fast, we should start by building a datastore out of the rucksack btree - but not necessarily buy into his full object model (although he has schemas, a similar MOP implementation, indexing, etc).

The system has an all-lisp serializer, an object cache, a persistent heap, etc that should all work pretty well with the Elephant MOP and object model. You might even be able to use the transaction subsystem - it is based on a similar versioning scheme to the one I provided, but I don't know enough about it to know for sure how congruent it is.

The extensions we'd need to make to this, at least, are multi-process support and perhaps changes to the versioning model to handle the slot- level persistence notion in elephant?

Let me know if you look into this, I'd be happy to review the code and make some suggestions for what can be reused from that code base and how it would play into the rest of the elephant system.

Ian
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to