[elephant-devel] A Modest Proposal
Robert L. Read
read at robertlread.net
Sat Sep 9 17:15:25 UTC 2006
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20060909/1c77e4d6/attachment.html>
More information about the elephant-devel
mailing list