Re: XA support (distributed transactions) - Mailing list pgsql-hackers

From J. Eduardo
Subject Re: XA support (distributed transactions)
Date
Msg-id 9131001f0611261514s4930661em679b756e04143a6a@mail.gmail.com
Whole thread Raw
In response to Re: XA support (distributed transactions)  (Jim Nasby <decibel@decibel.org>)
List pgsql-hackers
On 11/26/06, Jim Nasby <decibel@decibel.org> wrote:
>
> I don't believe Sequoia uses 2PC/XA, either.

And it really doesn't. The mechanism used by Sequoia is based on
statement replication across the cluster nodes, using group
communication. There are controllers nodes responsable by the
execution of the statements on the backend nodes, each controller
having it's own backends that cannot be shared by different
controllers. Each backend is a real database system accessed by the
controller via JDBC. The group of controllers is designed to provide a
abstraction to the group of distributed databases called a "virtual
database".

The controller node that receives the statement does a pre-processing
of this statement,  replacing functions like random(), now() and other
specified in the configuration file by constant values and then does a
broadcast of  the statement to all controller nodes. Each controller
in the group executes the statement on all it's backends and send the
result of the execution to the controller responsable by the statement
issued.

There are internal mechanisms to guarantee ordered execution of the
statements and proper execution of transactions across the virtual
database, but I am only giving a short description of the funcionality
based on the documentation available on the website and hands-on
testing of the middleware that I'm doing at work for quite some time.

--
João Eduardo Mikos
http://www.icewall.org/~jeduardo/


pgsql-hackers by date:

Previous
From: David Fetter
Date:
Subject: Re: FKs + partial indexes?
Next
From: Josh Berkus
Date:
Subject: Re: [CORE] RC1 blocker issues