Skip site navigation (1) Skip section navigation (2)

Re: [Pgcluster-general] PostgreSQL Documentation of High Availability

From: Markus Schiltknecht <markus(at)bluegap(dot)ch>
To: a(dot)mitani(at)sra-europe(dot)com
Cc: pgsql-docs(at)postgresql(dot)org, pgcluster-general(at)pgfoundry(dot)org, bruce(at)momjian(dot)us
Subject: Re: [Pgcluster-general] PostgreSQL Documentation of High Availability
Date: 2006-11-20 19:06:37
Message-ID: 4561FCBD.6050900@bluegap.ch (view raw or flat)
Thread:
Lists: pgsql-docs
Hi,

a(dot)mitani(at)sra-europe(dot)com wrote:
> I believe that shared-everything and shared-disk are cmpletely different
> things.

No. AFAIK, shared everything is basically a marketing term. Some vendors
(especially Oracle) use it to mean 'shared disk', which is really
confusing. But that's probably intentional, as it sounds good to share
everything... much better than sharing nothing.

Others, like GreenPlum use the term to mean 'shared memory' for example
in [1], which is much more appropriate.

Anyway, the term 'Shared Nothing' seems to go back to Stonebraker's
paper 'The Case for Shared Nothing Architecture' [2]. There he defined
these three terms:

shared memory (SM):  multiple processors share a common central memory
shared disk (SD):    multiple processors each with private memory share
                     a common collection of disks
shared nothing (SN): neither memory nor peripheral storage is shared
                     among processors

As it makes no sense to have shared memory but individual disks, no term
for such a thing got defined.

> Oracle has said the RAC as Shared-Everything.
> Probably, the definition of the words would differ from them.

It's hard to find architectural details within their documents, but
AFAICS, they do something like distributed shared memory or distributed
locking, which they call "Cache Fusion", see [3].

In the very same paper, they define what a Cluster is for them: "A
cluster is a group of independent servers that cooperate as a single
system. The primary cluster components are processor nodes, a cluster
interconnect, and a shared disk subsystem. The clusters share disk
access and resources that manage data, but the distinct hardware cluster
nodes do not share memory."

Thus, Oracle RAC seems to be a shared disk solution. Only in conjunction
with their OCFS, you could probably call it a shared-nothing solution,
but it's certainly not a shared-memory thing.

I'd vote for explaining these terms in the PostgreSQL documentation, as
there seems to be a lot of confusion regarding these terms.

Regards

Markus

[1]: GreenPlum about Shared Nothing vs Shared Everything:
http://www.greenplum.com/products/sharedNothing.php

[2]: Michael Stonebraker, The Case for Shared Nothing Architecture:
http://db.cs.berkeley.edu/papers/hpts85-nothing.pdf

[3]: A random Oracle Paper about "Cache Fusion" (tm):
http://www.oracle.com/technology/products/oracle9i/pdf/cache_fusion_rel2.pdf

In response to

Responses

pgsql-docs by date

Next:From: Peter EisentrautDate: 2006-11-20 19:25:06
Subject: "Clustering"
Previous:From: Markus SchiltknechtDate: 2006-11-20 16:17:56
Subject: Re: [Pgcluster-general] PostgreSQL Documentation of High Availability

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group