Re: PostgreSQL advocacy

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: "Jernigan, Kevin" <kmj(at)amazon(dot)com>
Cc: Rakesh Kumar <rakeshkumar464a3(at)gmail(dot)com>,"pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: PostgreSQL advocacy
Date: 2016-03-22 15:07:28
Message-ID: 20160322150728.GD11970@momjian.us
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-general

On Mon, Mar 21, 2016 at 04:46:51PM +0000, Jernigan, Kevin wrote:
> Disk is only a single point of failure in RAC if you configure
> non-redundant storage. In general, Oracle recommends triple mirroring
> to protect against disk failures, as they have had many experiences
> over the years where customers with mirrored disks would see
> consecutive disk failures within short periods of time.
>
> And RAC is widely used by Oracle’s larger customers, not only
> for HA, but also in some cases for scale-out. Having said that,
> it’s very true that any application running on Oracle RAC must be
> configured to avoid hot block contention across RAC nodes, so it’s
> not a completely transparent solution for scale out.

I get asked about Oracle RAC often. My usual answer is that Oracle RAC
gives you 50% of high reliability (storage is shared, mirroring helps)
and 50% of scaling (CPU/memory is scaled, storage is not). The
requirement to partition applications to specific nodes to avoid cache
consistency overhead is another downside. (Slide 24 of my scaling
presentation shows Oracle RAC,
http://momjian.us/main/writings/pgsql/scaling.pdf .)

I said the community is unlikely to go the Oracle RAC direction because
it doesn't fully solve a single problem, and it is overly complex. The
community prefers fully-solved problems and simpler solutions.

For me, streaming replication fully solves the high reliability problem
and sharding fully solves the scaling problem. Of course, if you need
both, you have to deploy both, which gives you 100% of two solutions,
rather than Oracle RAC which gives you 50% of each.

However, I do think database upgrades are easier with Oracle RAC, and I
think it is much easier to add/remove nodes than with sharding. For me,
this chart summarizes it:

HA Scaling Upgrade Add/Remove
Oracle RAC 50% 50% easy easy
Streaming Rep. 100% 25%* hard easy
Sharding 0% 100% hard hard

* Allows read scaling

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ As you are, so once was I. As I am, so you will be. +
+ Roman grave inscription +

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Thomas Kellerer 2016-03-22 15:15:27 Re: PostgreSQL advocacy
Previous Message Adrian Klaver 2016-03-22 14:58:30 Re: dblink_exec: can it perform a remote function?