[Dev] ZODB is not a Storage Technology (Re: other formats )Kevin Altis Sun, 3 Nov 2002 15:28:38 -0800
> -----Original Message----- > From: Eric Gerlach > > At 01:09 PM 03/11/02 -0800, David McCusker wrote: > >Does anyone want to lecture on how ZODB works inside? > > Just a quickie: At this stage, does it matter? >From a design standpoint it probably does. I'm not a ZODB expert by any 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 Python. http://www.python.org/doc/current/lib/node59.html 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. http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&safe=off&group=comp.lang. python http://aspn.activestate.com/ASPN/Mail/?topic=Python 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. ka
|