Re: 1 cluster on several servers

From: Shane Ambler <pgsql(at)Sheeky(dot)Biz>
To: Willy-Bas Loos <willybas(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: 1 cluster on several servers
Date: 2007-11-30 13:50:09
Message-ID: 47501511.4020507@Sheeky.Biz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Willy-Bas Loos wrote:
> I'll take that as a "no".
> What i mean is to actually run exactly one cluster (no replicated copy) on
> more than one server. Of course, if that were possible, why would people
> bother with replication..

What you may be thinking of is having several machines running postgres
and reading/writing to the same "shared" filesystem?
It's not advisable to try something like that. (as a read only system it
may work fine)

Each machine should run their own copy of postgres and have their own
copy of the data (which also gives you redundancy) to prevent contention
and overwriting other servers changes.
To do that you use replication of some sort. How you achieve that
depends on your needs.

Also think that having ten machines reading and writing to the one hard
drive (or array of drives) will not help your performance needs in any
way. The hard drive is the slowest point of the server, you want to add
more drives to multiply the transfer speeds to reach the performance
required.

Say you have 10,000 clients requesting data. If you had ten machines
reading from the same shared drive you wouldn't get better performance
than if one machine was accessing the drive alone.
If you had ten machines with their own drives and copy of the data then
you would be multiplying the amount of data sent out by ten.

Slony would be setup with one server that receives the insert and
updates and copies them to the other servers that would handle selects
from all your clients. I believe that Slony 2 is suppose to handle
multiple masters but I don't believe it is available yet.

If you want more than one server to respond to insert and updates then
maybe PGCluster may be closer to what you are looking for. This is a
multi-master setup where each server commits any changes before the
transaction is completed. This will give you each machine having
identical copies of data to work with.
Cybercluster appears to be a branch from PGCluster.

Bucardo is a project that has just recently been released to the
community. It supports multi-master replication and was developed by a
busy online store to meet their needs.

There are several commercial options available from many of the
companies that also provide postgres support that may fit your needs
better. EnterpriseDB, Commandprompt, Pervasive, Cybertec, Greenplum are
the first few that come to mind.

The real question is what you want to achieve - supporting an extremely
high number of client connections? Redundancy to prevent disaster?

> I guess it is irrational to suggest that it would be possible, since each
> server would at least need to have it's own copy of the DBMS software etc,
> or it would cease to be a separate server.
>
> Maybe "Data Partitioning", as in the documentation link Shane sent, possibly
> combined with Slony for the other data per server, would be an option for
> me.
>
> Is there an implementation for this in PostgreSQL? It would have to be
> something like pgPool (middleware), because: How would the query know on
> which server to put it's data? And i guess i would need some Kerberos-like
> implementation for my authentication and authorization...
>
> cheers,
>
> WBL
>
>
> On Nov 29, 2007 1:23 PM, Shane Ambler <pgsql(at)sheeky(dot)biz> wrote:
>
>> Willy-Bas Loos wrote:
>>> Hi,
>>>
>>> Is it possible to run one PostgreSQL cluster on more than one (hardware)
>>> server?
>>>
>>> WBL
>>>
>> You would be looking for replication.
>> Start with
>> http://www.postgresql.org/docs/8.2/interactive/high-availability.html
>> to get some idea on what is available for what you wish to achieve.
>> Some of the projects that add these features are mentioned.
>>
>>
>>
>>
>> --
>>
>> Shane Ambler
>> pgSQL(at)Sheeky(dot)Biz
>>
>> Get Sheeky @ http://Sheeky.Biz
>>
>

--

Shane Ambler
pgSQL(at)Sheeky(dot)Biz

Get Sheeky @ http://Sheeky.Biz

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Lincoln Yeoh 2007-11-30 13:57:18 Re: Linux v.s. Mac OS-X Performance
Previous Message Lincoln Yeoh 2007-11-30 13:42:53 postgresql table inheritance