[ZODB-Dev] A different sort of ZODB backend

Shane Hathaway shane@zope.com
Thu, 21 Nov 2002 10:38:37 -0500


Toby Dickenson wrote:
>>So there's a mismatch right now between what you want to do and where
>>the responsibilities lie in ZODB.  It sounds like we'd need to create
>>another pluggable layer that controls how ZODB serializes an object
>>for storage.  I think this would be a good idea.
> 
> I think I remember reading about someone having a prototype implementation of 
> this approach. Unfortunately I dont remember who, when, or where :-( Maybe 
> worth a shout on the zope-coders list?

You're probably referring to my project.  AdaptableStorage is the 
project, and it's coming along well.  I wrote it for the O'Reilly 
conference, after which I pulled it apart and put it back together again 
in a hopefully much clearer way.  The overhaul is not in public CVS yet, 
just because I didn't want a situation where sometimes I bombard the 
checkins mailing list with checkpoints, and sometimes everyone bombards 
me with status report emails. :-)

It's now a complete serialization library, and ZODB is only one user of 
the library.  It decouples serialization from storage.  It uses Martin 
Fowler's pattern names as much as possible.  It makes no assumptions 
about the kinds of things you're storing, where they are stored, or what 
framework (such as ZODB) performs the storage.

When you're working at such a level of abstraction, it's hard to come up 
with meaningful names for things, and that's why this project has taken 
so long.  But last night I finally stumbled on the right name for the 
last piece and I think the rest of the pieces will fall into place now. 
  I plan to move it to public CVS again very soon.

To give you a taste of the structure of the library, I just checked in a 
diagram I drew in OpenOffice.  Take a look if you're interested.

http://cvs.zope.org/~checkout~/Products/AdaptableStorage/design.sxd?rev=HEAD&content-type=application/octet-stream

Shane