X-Original-To: pgsql-hackers-postgresql.org@postgresql.org Received: from localhost (wm.hub.org [200.46.204.128]) by postgresql.org (Postfix) with ESMTP id 7DD3D9FB2F9 for ; Fri, 4 Aug 2006 13:40:11 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.128]) (amavisd-new, port 10024) with ESMTP id 89049-09 for ; Fri, 4 Aug 2006 16:40:07 +0000 (UTC) X-Greylist: delayed 00:06:39.295727 by SQLgrey- Received: from dupond.lsd.di.uminho.pt (linux.di.uminho.pt [193.136.19.96]) by postgresql.org (Postfix) with ESMTP id 598CE9FB25E for ; Fri, 4 Aug 2006 13:40:07 -0300 (ADT) Received: (qmail 10626 invoked by uid 7797); 4 Aug 2006 16:33:25 -0000 Received: from unknown (HELO abulafia.lsd.di.uminho.pt.82.168.192.in-addr.arpa) (192.168.82.68) by dupond.lsd.di.uminho.pt with SMTP; 4 Aug 2006 16:33:25 -0000 From: =?utf-8?q?Jos=C3=A9_Orlando_Pereira?= Organization: http://gsd.di.uminho.pt/members/jop To: pgsql-hackers@postgresql.org Subject: Re: standard interfaces for replication providers Date: Fri, 4 Aug 2006 17:33:23 +0100 User-Agent: KMail/1.9.3 Cc: Tom Lane , "Jonah H. Harris" , "alfranio correia junior" References: <44D30B31.2070403@lsd.di.uminho.pt> <36e682920608040645o56ea4bb0l21451c2a73f0e1a3@mail.gmail.com> <29263.1154706412@sss.pgh.pa.us> In-Reply-To: <29263.1154706412@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200608041733.24228.jop@lsd.di.uminho.pt> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.72 tagged_above=0 required=5 tests=SARE_SPEC_REPLICA X-Spam-Level: X-Archive-Number: 200608/248 X-Sequence-Number: 87741 On Friday 04 August 2006 16:46, Tom Lane wrote: > We haven't been able to build production-grade multi-master replication > without the barrier of a "standard" database-agnostic API, so I kinda > doubt that it will work all that much better with one. See Slony-II. I would argue that people haven't been able to build production-grade multi-master replication, in part, due to the barrier of not having a "standard" database-agnostic API. :-) In fact, the problem is not the lack of a "standard" API but the lack of an API at all. Having to learn the intrincacies of a database server (or build a full fledged server wrapper) to experiment with simple prototypes is a serious hurdle for R&D in database replication. This has been the case for replication based on group communication. > In short the burden of proof is to show why this should go in, not why not. Please don't confuse two proposals included in the distributed package: (1) A PostgreSQL specific patch, which implements a minimal set of required features with a PostgreSQL-specific interface (e.g. triggers, new statements, configuration variables). This is by no means a "standard" interface. The included technical report discusses why these are required for a variety of replication scenarios. (2) A DBMS independent "standard" Java interface, which is easily built on the modified PostgreSQL server using both existing features (e.g. normal triggers) and those introduced by (1). Included toy applications show how this would be useful for replication, but we are not (yet) pushing for its adoption. > (Suitable proof would be a usable replication system built atop it...) I agree. ;) -- Jose Orlando Pereira