On Sat, 2006-09-09 at 12:57 -0400, Ian Eslick wrote:
So what is the right persistent collection model?  We want something
that plays nicely with transactions, doesn't place any onerous
performance burden on backends and plays nicely with the existing BDB
and SQL implementations.


I strongly support a more abstract model, and I would recommend the "Dictionary" as the
correct abstract model.  (That's what we called it back in CS when I was in college.)  The
hashtable is an implementation of the Dictionary that is so close it's hard to remember that
Dictionary is abstract and hashtable is just one of several implementation mechanisms (
for example, a btree is another.)

I would tend to oppose any notion of "tables".  To me, that is just circling back around to
a relational model; CLSQL and its object-relational mapping partially covers that territory.

The "btree" is not very abstract --- it is what BDB uses, and therefore was a fine object
to expose at the time.

Dictionaries of course can support iterators, and one has to have a way iterating over
all of the objects in the collection.  I tend to prefer the "apply this function to every object
in a certain model" to the language of iterators, but in practice it's mostly the same.

I only briefly looked at the AllegroStore stuff; but the notion of a "persistent set" seems
quite clean.

But please don't let my comments dissuade others from commenting.

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

Reply via email to