2008年6月23日 星期一

Replication/Cluster solution for PostgreSQL

Continuent™ uni/cluster for PostgreSQL
Continuent™ uni/cluster for PostgreSQL is the leading middleware high availability and scalability solution for use with PostgreSQL. Continuent uni/cluster for PostgreSQL supports PostgreSQL’s native SQL and is integrated with native database functions for seamless integration and easy management.


SkypeGarage/DbProjects - Skype Developer Zone
During the development of Skype's backend infrastructure, we have enchanced PostgreSQL database in several ways, which we wish to give back to community. (A little overview of using postgreSQL at Skype can be found here: /SkypePostgresqlWhitepaper .) and Londiste is a PostgreSQL replication engine written in python.

Slony-ISeems good, single master only, master is a single point of failure, no good failover system for electing a new master or having a failed master rejoin the cluster. Slave databases are mostly for safety or for parallelizing queries for performance. Suffers from O(N^2) communications (N = cluster size). with reasonable sysadmin you can implement failover system yourself.
Slony is powerful, trigger based, and highly configurable.

pgPool-I, pgPool-II, pgpool 1/2 is a reasonable solution. it's statement level replication, which has some downsides, but is good for certain things. pgpool 2 has a neat distributed table mechanism which is interesting. You might want to be looking here if you have extremely high ratios of read to write but need to service a huge transaction volume. Supports load-balancing and replication by implementing a proxy that duplicates all updates to all slaves. It can partition data by doing this, and it can semi-intelligently route queries to the appropriate servers.

PGCluster PGCluster which does synchronous multimaster replication. Two single-points failure spots, load balancer and the data replicator. The project has historically looked a bit dead, but they just released a new version and moved to a Trac-based web site at http://www.pgcluster.org/ and http://pgfoundry.org/projects/pgcluster is up to date (at least downloads page) One major downside to PGCluster is that it uses a modified version of PostgreSQL, and it usually lags a few releases behind.

Cybercluster is a PostgreSQL replication solution which makes sure that the database cluster is consistent at every point in time. We rely on a shared-nothing architecture which is perfectly suitable for synchronous multimaster replication.

for more info, refer to
Replication, Clustering, and Connection Pooling

沒有留言: