From: | "Mike Mascari" <mascarm(at)mascari(dot)com> |
---|---|
To: | "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | "PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org>, <kward(at)peerdirect(dot)com>, <patrickm(at)redhat(dot)com>, <darren(at)up(dot)hrcoxmail(dot)com>, "Jan Wieck" <JanWieck(at)Yahoo(dot)com>, <jrnield(at)usol(dot)com> |
Subject: | Re: Big 7.4 items |
Date: | 2002-12-13 18:51:17 |
Message-ID: | 00ad01c2a2d8$9edb4100$0102a8c0@mascari.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
----- Original Message -----
From: "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>
> Mike Mascari wrote:
> > Okay. But please keep in mind that a 2-phase commit implementation
> > is used for more than just replication.
>
> This is a good point. I don't want to push Postgres-R as our solution.
> Rather, I have looked at both and like Postgres-R, but others need to
> look at both and decide so we are all in agreement when we move forward.
>
After having read your post regarding Spread, I see that it is an alternative to 2PC as a distributed TX protocol. If I understand you correctly, a DBLINK implementation built atop Spread would also be possible. Correct? The question then is, do other RDBMS expose a 2PC implementation which could not then be leveraged at a later time? For example imagine:
1. 7.4 includes a native 2PC protocol with:
CREATE DATABASE LINK accounting
CONNECT TO accounting.acme.com:5432
IDENTIFIED BY mascarm/mascarm;
SELECT *
FROM employees(at)accounting;
INSERT INTO employees(at)accounting
VALUES (1, 'Mike', 'Mascari');
That would be great, allowing PostgreSQL servers running in different departments to participate in a distributed tx.
2. 7.5 includes a DBLINK which supports PostgreSQL participating in a heterogenous distributed transaction (with say, an Oracle database):
CREATE DATABASE LINK finance
CONNECT TO <oracle names entry>
IDENTIFIED BY mascarm/mascarm
USING INTERFACE 'pg2oracle.so';
INSERT INTO employees(at)finance
VALUES (1, 'Mike', 'Mascari');
I guess I'm basically asking:
1) Is it necessary to *choose* between support for 2PC and Spread (Postgres-R) or can't we have both? Spread for Replication, 2PC for non-replicating distributed TX?
2) Do major SQL DBMS vendors which support distributed options expose a callable interface into a 2PC protocol that would allow PostgreSQL to participate? I could check on this...
3) Are there any standards (besides ODBC, which, the last time I looked just had COMMIT/ABORT APIs), that have been defined and adopted by the industry for distributed tx?
Again, I'd guess most people want:
1) High performance Master/Master replication *and* (r.e. Postgres-R)
2) Ability to participate in distrubuted tx's (r.e. 2PC?)
Mike Mascari
mascarm(at)mascari(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2002-12-13 19:01:30 | Re: Big 7.4 items |
Previous Message | Jan Wieck | 2002-12-13 18:36:59 | Re: Big 7.4 items |