I had never looked at Rucksack before. The code is very well
structured indeed!
A couple of thoughts:
1. Could the Rucksack B-Tree code be separated out, abstracted a
little and put in a separate project (eg, a cl-btree, or ldb for
example)? This would allow other lisp projects that are also looking
for a native B-Tree backend to make use of it. And all those projects
would benefit from the work done.
2. It appears that Rucksack is still be developed. Could the author
(s) be contacted and see if they are interested in creating a
universal lisp backend that could be shared between Elephant and
Rucksack (more rows in the water so to speak)?
3. I think that if the Rucksack B-Tree can be used in some way its
the fastest way to get the project off the ground and get some
momentum behind it.
Glenn
On May 14, 2008, at 12:41 PM, Ian Eslick wrote:
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
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel