Avoiding deadlocks in concurrent programming

Tim Peters tim.peters at gmail.com
Thu Jun 23 14:54:09 EDT 2005


[Terry Hancock]
> ...
> I realize you've probably already made a decision on this, but this sounds
> like a classic argument for using an *object DBMS*, such as ZODB: It
> certainly does support transactions, and "abstracting the data into tables"
> is a non-issue as ZODB stores Python objects more or less directly (you
> only have to worry about ensuring that objects are of "persistent"  types
> -- meaning either immutable, or providing persistence support explicitly).

ZODB can store/retrieve anything that can be pickled, regardless of
whether it derives from Persistent.  There are various space and time
efficiencies that can be gained by deriving from Peristent, and ZODB
automatically notices when a Persistent object mutates, but that's
about it.  Andrew Kuchling's intro to ZODB is still a good read
(Andrew doesn't work on it anymore, but I take sporadic stabs at
updating it):

    http://www.zope.org/Wikis/ZODB/FrontPage/guide/index.html



More information about the Python-list mailing list