2009-01-08 8 views
10

Im Moment verwenden wir PostgreSQL 8.3 (unter Linux) als Datenbank-Backend für unsere Ruby on Rails-Webanwendung.PostgreSQL-Replikationsstrategien

In Anbetracht der PostgreSQL-Datenbank verwenden wir aktiv Blockierung auf Zeilenebene und PL/PGSQL, was können wir verwenden, um unsere Daten zu sichern - ich meine Tools, Pakete, Skripte, Strategien - um die Datenbank erfolgreich zu replizieren Meisterkombination?

Ich werde auch Master-Slave-Vorschläge zu schätzen wissen.

Wenn ich zum Beispiel mehrere Anwendungsserver mit Apache/Ruby einsetze, um eine höhere Leistung zu erreichen und am Ende mehrere Datenbankserver bereitzustellen, gibt es eine Möglichkeit, eine Multimaster-Replikation in PostgreSQL zu erstellen?

Momentan verwenden wir den PostgreSQL WAL-Mechanismus, um Daten im Dateisystem zu sichern.

Vielen Dank.

Antwort

12

Es gibt einige Tools für Master-Slave-Szenarien (und Master-Multislave-Szenarien), die normalerweise Trigger-basiert sind. Slony-I wurde bereits erwähnt (ist stabil und solide, aber ein bisschen schwierig zu bedienen). Leute mit Problemen mit Slony-I schrieb Londiste (von Skype-Team) und PyReplica. Bah, und ich entdeckte gerade Mammoth wurde-Open Source

Für Multi-Master gibt es Bucardo (Anmerkung: Es ist nicht so poliert) oder kommerzielle Angebote - zum Beispiel durch Continuent oder CyberTec.

1

Ich dachte Postgres-R sah vielversprechend aus, aber es ist immer noch in der Entwicklung.

Es wurde angeblich stabilisiert und behauptet, um ein Potenzial für die Integration mit dem Standard-Problem zu sein, aber es ist noch nicht zum Tragen gekommen.

0

Sie können sehen slony.

1

Späte Antwort, aber es ist eine neue Open-Source-Software für asynchrone Master-Master-Replikation von PostgreSQL (funktioniert auch für MySQL): rubyrep

Fokus ist auf einfache Einrichtung. Offenlegung: Ich habe es geschrieben.

+0

Cool ... Ich probiere es aus. – Bharath

+1

Es ist nicht so einfach wie es aussieht. – malaverdiere

+0

Es scheint nicht mehr sehr aktiv gepflegt zu werden, was eine Schande ist. – fatuhoku

2

Hm, ist Bucardo wirklich gut und stabil, im Vergleich zu den anderen hier. Es ist so ausgefeilt wie ein Perl-basiertes Replikationssystem und unterstützt Master-Slave- sowie Multi-Master-Replikation mit interessanten Konfliktlösungskonzepten.

Wenn Sie einfache Master-Slave-Rep benötigen, würde ich Londiste empfehlen, aber für die Multi-Master-Bedürfnisse ist Bucardo die einzige akzeptable Lösung IMHO.