Hi guys,
I'm looking into setting up an HA scalable DB cluster.
So far my tests with streaming replication proof that it is very very good indeed.
However, problem seems to be on the connection pooling side. Ideally, we would love to have single point of connection to the cluster, but I do realise that it might not be feasible.
So far I've been testing pgpool-II 3.2.3 and 3 DB servers. And as much as I'm impressed by postgresql itself. pgpool simply fails on pretty much every front. That is, in terms of scalability, running dbbench against it, proves to be much slower then direct connection to the master. It also goes into strange states when you overallocate connections, etc. Not really something I'd trust on a production server.
I don't know of any other pooling solution that would be capable of handling the job, but focus only on the task of pooling (pgpool's fault probably is that it is trying to be jack of all trades) in HA replicated scenario.
What is out there, free or paid - that would solve an HA DB Cluster running Postgresql (ideally 9.2), that you guys could suggest ?
Personally, I think that having single connection point DB Cluster is not going to be ideal solution anyway. So question is, how would you guys go about designing a cluster that handles Java/C/C++ applications connecting from some number of servers ?
It has scale (adding more servers, to improve performance, or aid in case storage has become a problem), but also be redundant in case hardware fails.
Thanks.