Datenbankspiegelung / Postgres-Streaming-Replikation

8

Ich bin kein DBA; Ich bin der Hauptentwickler einer unternehmensdatenbankbasierten Anwendung.

Ich stelle gerade einige neue Maschinen vor, um unsere bestehende Unternehmensdatenbank zu aktualisieren. Momentan läuft Postgres 8.4 mit einer Datenbank auf unserer DR-Seite, die in regelmäßigen Abständen über einige benutzerdefinierte rsync-Arbeiten aktualisiert wird, die ein ehemaliger Mitarbeiter ausgeführt hat.

Eines der Hauptprobleme, das wir angehen wollen, ist die Latenz zwischen zwei globalen Büros. Wir haben Mitarbeiter in NY und Mitarbeiter in London. Derzeit erleiden die Londoner Mitarbeiter das Schicksal unserer VPN-Pipeline. Ich bin nicht wirklich in der Lage, diese Infrastruktur zu ändern.

Ich möchte zu Postgres 9 wechseln und die Streaming-Replikation einrichten. Der Sklave würde in der Londoner Niederlassung sein, was Leseprobleme für Benutzer erleichtern würde. Das Problem, das ich sehe, ist schreibt an den Slave (nicht sicher, wie PG dies behandelt, mein Verständnis ist der Slave ist im schreibgeschützten Modus). Im Idealfall würden die Schreibvorgänge von der Datenbank selbst an den Master in New York gesendet (die Schreibvorgänge sind aus London sehr selten, aber notwendig). Darüber hinaus kann ich ein Fallover einrichten, damit es als Hot-Swap-Backup fungiert (das DR ersetzt). Auch dies alles in der Postgres-Konfiguration ohne zusätzlichen Code.

Das ist meine idealisierte Lösung. Wie weit weg bin ich? Ist das überhaupt möglich?

Ich bin ein bisschen überwältigt von der Breite dieses Themas und Google hilft mir nicht wirklich. Ich würde mich über jeden Rat von einigen erfahrenen DBAs freuen, mit Anekdoten, relevanter Dokumentation oder Beispielen.

Gegenwärtig verwenden wir SQLAlchemy als primäre Schnittstelle zur Datenbank, wenn dies relevant ist. Es bedeutet, dass wir nicht an Postgres gebunden sind.

Danke allen.

    
TrevorB 01.06.2011, 20:57
quelle

2 Antworten

8

pgpool-II kann damit umgehen:

Überprüfen Sie dieses Beispiel .

    
Frank Heikens 01.06.2011, 21:01
quelle
2

Die PostgreSQL 9 Dokumentation gibt einen schönen Überblick über die verfügbaren Optionen.

Ссылка

Sie können sich Slony ansehen, wenn es Ihnen nichts ausmacht, auf den Master und nicht auf den Slave schreiben zu müssen, oder wenn Sie möchten, können Sie sich eine der verfügbaren Multi-Master-Replikationstechnologien ansehen.

    
Imraan 01.06.2011 21:12
quelle