From: Clifford Heath Date: 2006-10-18T08:30:06+09:00 Subject: Re: Rails q: Two-Phase Commit/Updatable View/Roles M. Edward (Ed) Borasky wrote: > Ken Bloom wrote: >>Two phase commit is a protocol for commiting a single transaction that >>spans multiple databases. > Two-phase commit is what makes transactions have the ACID properties! No, you're thinking of two-phase locking, which is necessary for ACI (not D) only. Two-phase commit is a means of coordinating distributed transactions, as Ken said. Write-ahead logging is how most DB's provide the "D" of ACID. >>if you need it you can look into database middleware that can coordinate >>distributed transactions so that it appears to your rails app as >>though you're only working with one database. Or use a DB that has the feature built-in. For example, in MS SQL Server, you can link-in a remote server to your main server, and then you can run transactions that span local and remote DBs. The distributed transaction monitor interfaces with the SQL Servers through the standard XA, AX protocols and manages the 2-phase commit.