Tue Mar 14 17:13:41 PST 2006
means, but it is my understanding that Python pickles are what ZODB stores.
I'm not sure how this changes as you try and use a Berkley DB as a backing
store, but it does bring up a big design point. That is, should the file
format be portable across operating systems? I would say yes, but that means
that you need the same Berkley DB format to be supported on
Win9x/ME/NT/2K/XP, Linux, Mac OS X, and whatever else you want to support.
Does that portable Berkley DB code and format exist, I don't think so? If
you just use pickles, the data will be portable, but you need to have a safe
unpickler to protect against trojan classes in the pickle; the method called
when the data is unpickle is the big problem AFAIK. There is also the
possibility that the pickle format could change with a future version of
I seem to remember some discussion a long time ago about data corruption
when using Berkley DB as a backing store, but all the references on the
ZODB-dev list seem old, so this might be a non-issue. Someone working on the
data storage part of Chandler might want to do some searches with Google
groups in comp.lang.python or some of the ZODB and Zope mailing lists.
Finally, this is another point that should probably be discussed on the
design list, but if you want other languages such as Java to be able to read
the file format used by Chandler, ZODB could be problematic.
Hopefully, there are good answers to these concerns.
More information about the chandler-dev