Arkadiusz Ćwiek

Replikacja i skalowanie PostgreSQL

Istnieje wiele metod replikacji i skalowania baz danych PostgreSQL aby wykorzystywał wiele maszyn. Poniżej zaprezentuje niektóre z dostępnych rozwiązań. Trzeba podkreślić, że nie ma jednego uniwersalnego/najlepszego rozwiązania replikacji i/lub skalowania baz danych PostgreSQL (tak jak PostgrSQL nie jest uniwersalnym/najlepszym rozwiązaniem we wszystkich zastosowaniach, a jedynie w ich pewnym <<aczkolwiek dość szerokim>> podzbiorze.)

Funkcje replikacji wbudowane PostgreSQL

Porównanie wybranych mechanizów replikacji i równoważenia obciżenia dla PostgreSQL

ProgramLicencjaDojrzałośćMetoda ReplikacjiSynchronicznośćPula połączeńRównoważenie obciążeniaPartycjonowanie zapytań
PgClusterBSDNierozwijaneMaster-MasterSynchroniczneNieTakNie
Pg_pool-IBSDStabilnaStatement-Based MiddlewareSynchroniczneTakTakNie
Pg_pool-IIBSDStabilnaStatement-Based MiddlewareSynchroniczneTakTakTak
Slony-IBSDStabilnaMaster-SlaveAsynchroniczneNieNieNie
BucardoBSDStabilna2*Master, Master-SlaveAsynchroniczneNieNieNie
Londiste BSDStabilnaMaster-SlaveAsynchroniczneNieNieNie
MammothBSDNierozwijaneMaster-SlaveAsynchroniczneNieNieNie
RubyrepMITNierozwijaneMaster-Master, Master-SlaveAsynchroniczneNieNieNie

Rozwiązania Gridowe/Klastrowe

Alternatywą dla mechanizmów replikacji są odgałęzienia PostgreSQL przystosowane do pracy jako klaster — czyli do współpracy instancji zainstalowanych na kilku maszynach dla zwiększenia niezawodności i/lub wydajności. Przykładami takich systemów są:

Linki do zasobów związane z replikacją PostgreSQL