Thread: Load Balancing / Failover cluster
Hi,
We have to develop an application for one of our clients. We are considering using PostgreSQL as the database. However, reliablity and scaliblity are key consideration. So before we go the PostgreSQL way, I would like to be sure that it supports the following features.
1. Load balancing using more that 2 server in active-active mode. It should be transparent to the client application. We should be able to add server as and when needed as growth is still unpredictable.
2. Failover, where one server takes up the load in case of failover of a server in the active-active cluster. Loss of last uncomitted transaction is acceptable but the client application should not have to restablish connection.
Basically we are looking for feature similar to Oracle RAC (Real Application Cluster) with TAF (Transaction Application Failover).
Can somebody tell me if these features are available. If yes, where can I find some reference realted to them (how to configure, relative performance etc).
Regards
Amitabh
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, On 24 Jul 2004, Amitabh Kumar wrote: > We have to develop an application for one of our clients. We are > considering using PostgreSQL as the database. However, reliablity and > scaliblity are key consideration. So before we go the PostgreSQL way, I > would like to be sure that it supports the following features. > > 1. Load balancing using more that 2 server in active-active mode. It > should be transparent to the client application. We should be able to > add server as and when needed as growth is still unpredictable. > 2. Failover, where one server takes up the load in case of failover of > a server in the active-active cluster. Loss of last uncomitted > transaction is acceptable but the client application should not have to > restablish connection. I suggest you to take a look at C-JDBC (Clustering JDBC),which is an open source project for these: http://c-jdbc.objectweb.org/ (Home page) http://freshmeat.net/projects/cjdbc I also suggest you to read the following white paper about c-jdbc, which also mentions about PostgreSQL: C-JDBC: Flexible Database Clustering Middleware http://c-jdbc.objectweb.org/current/doc/C-JDBC_Flexible_Database_Clustering_Middleware.pdf Regards, - -- Devrim GUNDUZ devrim~gunduz.org devrim.gunduz~linux.org.tr http://www.tdmsoft.com http://www.gunduz.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFBBLJBtl86P3SPfQ4RAmVzAJ4otPr3yjZNHH06jGHOJ5ZR9wZgBwCfcDnr g3kuFZYpj0XSjdagEjOEC5c= =Pok2 -----END PGP SIGNATURE-----
Amitabh Kumar wrote: > We have to develop an application for one of our clients. We are considering > using PostgreSQL as the database. However, reliablity and scaliblity are > key consideration. So before we go the PostgreSQL way, I would like to be > sure that it supports the following features. > > 1. Load balancing using more that 2 server in active-active mode. It should > be transparent to the client application. We should be able to add server > as and when needed as growth is still unpredictable. > > 2. Failover, where one server takes up the load in case of failover of a > server in the active-active cluster. Loss of last uncomitted transaction is > acceptable but the client application should not have to restablish connection. I've recently (accidentally) found the following piece of software (I wonder why it's not mentioned on postgresql.org): http://www.csra.co.jp/~mitani/jpug/pgcluster/en/ It's is a modified version of PostgreSQL (i.e. a patchset) supporting multi-master synchronous replication. According to the description, it might be exactly what you're looking for. Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München Any opinions expressed in this message may be personal to the author and may not necessarily reflect the opinions of secnetix in any way. "It combines all the worst aspects of C and Lisp: a billion different sublanguages in one monolithic executable. It combines the power of C with the readability of PostScript." -- Jamie Zawinski, when asked: "What's wrong with perl?"