[ZODB-Dev] ZODB blob support.

Jim Fulton jim at zope.com
Mon Mar 21 14:39:23 EST 2005


We're working on this at the PyCon ZODB sprint. (Where we is mostly
Christian Theune at this point, with Tim and I giving advice.)

We expect to provide a high-level description/proposal next weekish.

Here's a very high-level summary:

- To see how this will work for application programmers, see:

   http://svn.zope.org/ZODB/branches/ctheune-blobsupport/src/ZODB/Blobs/Blob.txt?view=markup

- We expect to use a "storage decorator" that adds blob support to existing storages.
   This will store each blob revision in a separate file ala Directory Storage.
   This will give us a chance to study, and hopefully, bless Directory Storage, FWIW
   :).

- We will add ZEO support.  ZEO will support blob storage itself.  It will
   need to slurp data over the ZEO connection as many separate messages being
   careful:

   - not to load lots of data into memory

   - not to tie up the ZEO communication channel in such a way
     that other threads can't get any bandwidth.

   (Perhaps a separate socket should be used for this.)

- It will be possible to configure the client storage to serve committed
   blobs from a mounted directory.

- Blobs will never be stored in memory.  In fact blob storage will be
   separate from normal object storage.  To be more precise, blob objects
   will be managed like other objects, but the blob data will be managed
   separately. So, while blob objects will appear in the in-memory object
   cache and in the zeo cache, but blob data will not.

Also note that:

1. This is all preliminary :)

2. This won't be finished this week.  This means that it will probably
    languish for a while unless someone picks it up and finsishes it.
    I'm confident that it will finish eventually.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the ZODB-Dev mailing list