ci z was którzy używają postgresa na pewno przynajmniej słyszeli o rozwiązaniu “pgpool".
w dużym skrócie – interfejs między klientem a bazą danych, pozwalający buforować połączenia, zapewniający prostą replikację (zasadniczo multi-master, ale sprawa jest trochę bardziej skomplikowana), śliczny failover i ogólnie same fajne rzeczy.
pgpool doczekał się niedawno wersji 3.0.
natomiast ostatnio – bardzo ostatnio pojawiła się wersja 1.0 programu pgpool 2.
co to jest? praktycznie zupełnie nowy kod. stworzony w firmie “sra" – największej firmie zajmującej się postgresem w japonii. mają własną “dystrybucję" postgresa, własne toole, itd.
i na własne potrzeby zrobili, a potem udostępnili światu pgpool2.
czym się różni pgpool2 od pgpool?
- obsługuje “parallel query" – czyli możliwość partycjonowania danych między serwery (podpięte pod pgpoola) i wykonywania zapytań jednocześnie na wszystkich serwerach, a potem łączenie wyników
- obsługuje więcej niż 2 serwery “backendowe"!
do tego został dorzucony graficzny (web-based) program do zarządzania pgpoolem – pgpooladmin.
dla wszystkich którzy kiedykolwiek zastanawiali się nad pgpool'em, ale odrzucili go bo np. nie mógł pracować z więcej niż 2 bazami – pora wrócić do tego projektu 🙂
Zgadzam sie ze to swietne narzędzie, ale mam problemy z pgpoolem i DBD::Pg w perlu. Otóż nie ma żadnej różnicy w szybkosci miedzy polaczeniami do pgpoola czy normalnego postrgesa. W php testy natomiast wykazaly (dla tego samego test setu) ogromny zysk. Masz moze doswiadczenie z czyms takim ?
a dla tych ktorym pgpool nie odpowiada z jakiegos innego wzgledu, polecam pgbouncera przygotowanego przez ekipe Skype:
https://developer.skype.com/SkypeGarage/DbProjects/PgBouncer
Korzysta z tego np lastfm:
http://www.lastfm.pl/user/Russ/journal/2008/02/21/zd_postgres_connection_pools:_pgpool_vs._pgbouncer
Odnośnie samego pgbouncera to znalazłem dość szczegółowy opis instalacji na stronie:
http://blog.rss2.pl/2008/10/pgbouncer-postgresql-connection-pooler/
Musze sam potestować i zobaczyć który sobie lepiej radzi 🙂