Die Datenbankspiegelung / PostgreSQL Streaming Replikation

Ich bin kein DBA; ich bin der Hauptentwickler von einer enterprise-Datenbank-basierte Anwendung.

Ich bin derzeit specing, einige neue Maschinen zur Modernisierung unserer vorhandenen enterprise-Datenbank. Derzeit sind wir mit Postgres 8.4 mit einer Datenbank auf unserem DR-Standort erhält, dass die updates in Abständen über einige benutzerdefinierte rsync arbeiten, ein ehemaliger Mitarbeiter durchgeführt.

Eines der großen Probleme, die wir versuchen, anzugehen, ist die Latenz zwischen zwei Niederlassungen weltweit. Wir haben Mitarbeiter in New York und Mitarbeiter in London. Derzeit ist die London Mitarbeiter leiden das Schicksal unserer VPN-Leitung. Ich bin nicht wirklich in einer position zu ändern, dass die Infrastruktur.

Was ich gerne tun möchte, ist zu bewegen, um Postgres 9 und setup-streaming-Replikation. Die Sklaven werden in das Londoner Büro, das würde zu lindern Lesen Probleme für die Nutzer. Das problem, das ich sehe ist, schreibt der slave (nicht sicher, wie PG Griffe diesem, meinem Verständnis ist der slave ist im nur-Lesen-Modus). Im Idealfall schreibt würde an den master gesendet, in New York (schreibt, sind sehr selten von London, aber notwendig), die von der Datenbank selbst. Desweiteren kann ich setup fallover haben Sie als ein hot-Swap-Sicherung (Austausch der DR). Wieder, alle enthaltenen Postgres-Konfiguration ohne zusätzlichen code.

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

Ich bin ein wenig überwältigt von der Vielzahl der zu diesem Thema und Google ist nicht wirklich mir zu helfen. Ich würde schätzen, Ratschläge von einigen erfahrenen DBAs, mit Anekdoten, die relevante Dokumentation oder Beispiele.

Derzeit sind wir mit SQLAlchemy als primäre Schnittstelle zu der Datenbank, falls das relevant ist. Es bedeutet, wir sind nicht gebunden an Postgres.

Danke an alle.

  • Wenn jemand geht so: Postgres schließlich hat Master/Master-Replikation, die ist, was wir landeten mit. Vor, dass ich verwendet einige benutzerdefinierte code mit Zeitstempeln auf-Taste Tabellen zu erstellen, die delta setzt und update der DB. Nächtliche (Asien-Stunden) die DB ' s waren voll synchronisiert mit der vorherigen rsync methedology. Die pgpool Vorschlag, während das gute, erlitten Latenz auf beiden Seiten des Teiches. Vielleicht habe ich es falsch konfiguriert, aber es war nicht die ideale Lösung.
InformationsquelleAutor TrevorB | 2011-06-01
Schreibe einen Kommentar