I'm evaluating ZODB for a new project and wondering how to use it in the
First off, there will be rather frequent writes to the storage (up to 10
per second). Almost all writes will not produce any conflict. Most of the
frequent writes will write small objects (<1kb). Occasionally there will
be bigger (~1-10 MB) writes. The final size of the stored data is likely
in the 100s of GB range.
I'm probably going to use a FileStorage, because the db will be accessed
from a single point for now and networking/multiprocessing with ZEO is not
Now I've got a few questions left:
- Does it make sense to use ZODB in this scenario?
- What's the difference between storing bigger objects as blobs and as
plain large strings?
- Can I stream in parts of a blob/large string without having to read all
- Where can I find example code on zodb blobs? E.g. how do I save a blob,
how do I read it back in?
- Are there more complications to blobs other than a slightly different
- Is it ok to use cross-database references? Or is this better avoided at
There will probably crop up more questions later... :-)
Thanks for your input!
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org