[DB-SIG] Distributed Transaction framework

M.-A. Lemburg mal@lemburg.com
Sat, 26 Jan 2002 12:58:55 +0100


Jim Fulton wrote:
> 
> We plan to have a Birds of a Feather (BOF) session at the Python 10
> Conference, http://python10.org, on a Python distributed transaction
> framework.
> 
> The Zope object database, ZODB, includes frameworks
> for persistence and transaction management.  These frameworks
> depend very little on the rest of ZODB and will be factored
> out of ZODB and made into separate packages in the next generation
> of ZODB, ZODB 4.
> 
> We have experience using the transaction framework
> with other persistence mechanisms in Zope, including relational
> databases and the light-weight directory access protocol, LDAP.
> This allows distributed transactions to be coordinated among
> multiple database systems. If a transaction is committed or rolled
> back, the commit or rollback happens for each of the participating
> databases. This is very useful. It would be useful to make this
> capability available to other Python applications.

Agreed... even though it will be hard to force this: e.g. an
application might call .commit() on a database connection
without the transaction manager knowing about it -- there's
no way to find out whether a transaction is still active or
not (databases hide this very well from programs using 
the database interface), so the transaction manager will
run into problems when trying to rollback the 
last transaction it started.

> In particular, it would be worthwhile to explore integrating
> distributed transactions with the Python database API to make it
> easier to coordinate among multiple databases and to better support
> distributed transactions in the Python database API, for example by
> including interfaces to underlying distributed-transaction APIs not
> currently exposed by the Python database API.

The DB API already exposes .commit() and .rollback(). What other
APIs do you have in mind here ?
 
> 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; could you put up a summary
of your findings somewhere on the net ?

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