On 06/21/2011 10:00 AM, Vick Khera wrote:
> Postgres has nothing quite like the MySQL cluster mode with NDB. You
> will have to re-think your solution if you want to use postgres to
> distribute your queries and data across multiple servers.
>
The closest thing to a NDB cluster in PostgreSQL is using PL/Proxy to
split data across multiple nodes. Both use similar hash-key methods to
distribute things across more than one system, and you can run queries
that return a combined set of results bigger than any single node could
have handled. But even that's extremely different from NDB as far as
what the interface for executing queries is like.
Vick is absolutely right here: asking about whether PostgreSQL solves
the very specific problems that MySQL NDB has isn't even the right
question. The two don't compare directly at all; different replication
approach, different node distribution approach, different query
approach. You need to return to basics instead: what is the actual
business and/or technology need that has to be solved? From that there
may be a PostgreSQL solution that makes sense, using its replication and
query distribution mechanisms. But it's extremely unlikely that will
look like a NDB cluster at all, and therefore very unlikely to have the
same problems at all. You'll get a whole new mystery set instead!
One of the most common mistakes I see people make when architecting
database systems is assuming they have to use one of these really
complicated sharded approaches to make their server perform well.
Unless you have a massive database or extremely high write volume, it's
way more trouble than it's worth to go through distributing writes onto
multiple nodes.
--
Greg Smith 2ndQuadrant US greg@2ndQuadrant.com Baltimore, MD
PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.us
"PostgreSQL 9.0 High Performance": http://www.2ndQuadrant.com/books