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@xxxxxxxxxxxxxxx Baltimore, MD PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.us "PostgreSQL 9.0 High Performance": http://www.2ndQuadrant.com/books -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general