[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 -- http://mail.python.org/mailman/listinfo/python-list