Datenbankreplikation

mike

Well-Known Member
Hallo

Ich will folgendes machen:
LAN mit 5 PCs. Auf allen PCs läuft PostgreSQL. Wenn ich nun am PC1 einen Datensatz einfüge / update / lösche sollen das die anderen PCs auch merken. Auf gut Deutsch: eine Replikation :huth:

Nun das Problem: kein PC ist ein "Super" PC (wie in einem Server - Client System) sondern man sollte das ganze als Peer to Peer betrachten. Slony kann leider nur Simple Master - Multiple Slaves. Slony 2 ist ja nicht mehr in Entwicklung :(
Da die Last gering is (max. 100 Queries) ist: hat sich jemand schon mal mit der Thematik (Trigger Function, Locking Mechanism) in einem Peer to Peer Verbund mit Datenbanken auseinander gesetzt? Gibts da gute Algorithmen?

Danke im Voraus
lg
 
MySQL kann das, hat aber die bekanten anderen Probleme.

Fuer PostgreSQL ist mir da nicht bekannt, es gibt zwar auch PGCluster, aber Master-Master-Replikation ist immer so ne heikle Sache.

Was ist denn ueberhaupt dein Anwendungsgebiet? Das klingt mir nach Kalender oder Adressbuch...
 
@MrFixit: Also die MySQL Replikation soll ja nicht das gelbe vom Ei sein. Damals wie ich angefangen hab war Vorausstzung, dass der RAM mindestens so groß wie die Tabelle is. Außerdem brauche ich PostGIS - das Spatial von MySQL ist angeblich nach wie vor voll buggy.

@klimaschreck: kenne ich - aber noch nie genutzt. Wie tut das?

EDIT: http://burger-ag.de/postgresql_replikation.whtml#pgpool
PgPool hat ja diese 3 Server Einschränkung :-S
 
Interessantes Thema. Habe mich auch mal damit beschäftigt. Es gibt teure Lösungen, die das können. Sind aber soweit ich gesehen habe alle für Windows.

Schau dir dieses Forum an: http://www.pg-forum.de da findest du weitere Informationen dazu (ich hoffe auf ein anderes Forum verweisen verstößt nicht gegen die Board regeln. Falls ja, bitte löschen!)

David
 
@klimaschreck: Schau ich mir genau an. Aber irgendwo ist der Haken an dem ;)
@daiv: bin ich schon lange dabei. Wolltes es mal hier probieren da die Community größer is
 
@klimaschreck:
Connection-Pool-Server, der zwischen den Datenbanken und den Clients
sitzt und die Anfragen immer gleich an beide Datenbanken schickt (Proxy-
Server). Fällt eine aus, arbeitet pgpool einfach mit der anderen weiter.
Vorteil: OpenSource. Automatischer Failover. Schöne Architektur.
Nachteil: Arbeitet auf der Basis von Anfragen. Somit müsste die jetzige
Architektur stark geändert werden. Stores Procedures können nicht
genutzt werden. Einen Failover-Mechanismus hat Knut bereits realisiert.
Weitreichende Veränderungen an unserer bisherigen Architektur vonnöten.
Eher geeignet für Systeme, die wirklich keine Sekunde ausfallen dürfen.

Das schaut mir nach einer Baumstruktur aus wobei der oberste Knoten am höchsten Priveligiert ist. Können die unteren Blätter auch an andere INSERT / UPDATE Queries schicken? Stored Procedures gehen nicht - das scheint stark nur für RO Anfragen zu gehen ...
 
pg-pool-II bietet, so wie ich es verstanden habe, verschiedene Betriebsmodi. Einer ist Replikation und ein anderer Connection Pool. Du zitierst den Connection Pool. Ich hatte dich aber so verstanden, dass du Replikation haben willt.
 
Hmm. Gute Frage. Es steht "Using the replication function enables creating a realtime backup on 2 or more physical disks," was imo bwdeutet, dass der Hauptknoten Inserts etc. an alle seine Unter Knoten schickt.

Ich hab allerdings eine Methode gefunden die nicht schlecht ist - skaliert aber nur bei wenig PCs gut. Muss mir das genauer anschaun

n8
 
Zurück
Oben