[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