[Zope-ZEO] How do ZODB transactions work?

Greg Ward gward@mems-exchange.org
Fri, 29 Sep 2000 17:40:52 -0400


On 29 September 2000, Jim Fulton said:
> Have you looked at the transaction management documentation at 
> http://www.zope.org/Documentation/Developer/Models/ZODB/?

Excellent!  This is very close to what I was hoping to find.  The only
thing missing is a note at the bottom that say, "Oh, Greg, here's how to
do it..."  ;-) This may not be 100% of the information we need, but it's
pretty close -- and I think I'll at least be able to ask intelligent
questions about ZODB now.  Thanks!

> There's also some discussion of the role of transactions, 
> sub-transactions, and versions at:
> 
> http://www.zope.org/Members/jim/Info/IPC8/ZODB3

Yup, I keep a dog-eared copy of this paper close at hand.  Maybe the
stuff on transactions and versions will make more sense having read the
low-level details at Models/ZODB.

> Sub-transactions aren't really intended for this. They are
> intended to provide a way to checkpoint progress in memory
> or cpu-intensive transactions.

Yeah, I totally misunderstood what sub-transactions were all about.  I
really need to read a book on object databases... *shudder*...

> I think that
> versions are a much better approach. Versions are meant to 
> capture work, typically spread over a relatively long period,
> requiring human interventon.

Hmmm, hadn't thought of that.  Are versions supported by all storages
"for free", or are they like undo -- something that a version has to
specially support?  (We're not planning on using FileStorage forever --
something like BerkeleyStorage might make more sense, since we don't
really care about undo.)

Thanks!

        Greg