[DB-SIG] Distributed Transaction framework

M.-A. Lemburg mal@lemburg.com
Mon, 28 Jan 2002 17:41:47 +0100


Jim Fulton wrote:
> 
> "M.-A. Lemburg" wrote:
> >
> ...
> 
> > The DB API already exposes .commit() and .rollback(). What other
> > APIs do you have in mind here ?
> 
> These are non-distributed APIs. Many databases have separate
> APIs to support distributed transactions, typically conforming to
> the X/Open XA distributed transaction standard. Unfortunately, the
> APIs aren't part of the DB API. We should consider adding these.

Hmm, the only references to databases and repositories supporting
these APIs I could find are related to object databases and 
distributed relational database scenarios.

Perhaps we ought to come up with a standard for XA-compliant
transaction managers instead ?! OTOH, there's nothing much to
invent here, since the XA standard already defines the interfaces:

	http://www.opengroup.org/dbiop/s423.pdf
 
or for a broader view of things:

	http://www.opengroup.org/dbiop/index.htm

The only problem I see with this is that DB API modules (the resource
managers or RM in XA terms) need to be made aware of the transaction 
manager (TM) in some way (e.g. to prevent accidental .commit() or 
.rollback() calls within the DB API module and to report errors which 
might invoke error handling in the TM).

Also, DB API modules will sometimes have to be careful about
their internal setup (e.g. set the drivers they wrap to single
threading mode and/or initialize it for two phase commit).

> > > We'd like to kick off an effort to design a transaction framework
> > > to encompass ZODB, relational databases, and other persistence
> > > systems.
> > >
> > > The talk BOF begin with a presentation of the ZODB Transaction
> > > framework.
> > >
> > > The BOF will take place at lunch time on Tuesday, February 5.
> >
> > I won't make it to the conference;
> 
> I'm sorry to hear that.
> 
> > could you put up a summary
> > of your findings somewhere on the net ?
> 
> Of course.

Great. I'd suggest to use the PEP format as basis since it integrates
nicely with the tools we have available for handling these.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/