Seite 1 von 1

PG-SQL Cluster

Verfasst: Mo 19. Mär 2018, 15:52
von andrezohles
Hallo Zusammen,

Wir haben derzeit ein mySQL-Cluster im Einsatz mit Master-Master Replikation. Nun möchten wir auf PG-SQL alles umstellen und nun kommt die Fragen wie richte ich bei PG-SQL solch ein Cluster ein.

Gibt es hier im Forum eine Anleitung dazu. Habe leider mit PG-SQL noch nicht soviel Erfahrung.

Danke vorab

Re: PG-SQL Cluster

Verfasst: Mo 19. Mär 2018, 16:16
von akretschmer
Das Thema ist etwas komplexer. Was *genau* suchst Du? Master-Slave? Logical Replication Master->Slave, wo du aber auf dem Slave auch schreiben kannst? BDR (BiDirectional Replication)? Welche PG-Version soll zum Einsatz kommen? Was ist generell das Ziel der Übung? HA? Geographische Trennung? Lastverteilung? Über was für Datenmengen reden wir? Doku gibt es für alles.

Es gibt Firmen, die machen für sowas Consulting & Support. Ich arbeite für solch eine.

Re: PG-SQL Cluster

Verfasst: Di 20. Mär 2018, 14:26
von andrezohles
Hallo akretschmer,

erst einmal vielen dank für deine Antwort.

Es soll eine Master - Master Replikation werden, da beide Server mit heartbeat arbeiten werden ´. Soll es so sein das wenn der 1 weg ist der zweite übernimmt diesen haben wir auch so schon bei MySQL im Einsatz.

Als PG-Version würden wir Version 10 einsetzen.


Gruß Andre

Re: PG-SQL Cluster

Verfasst: Di 20. Mär 2018, 17:18
von akretschmer
Noch mal in Ruhe.

2 Server, A und B. Beide laufen via Heartbeat? Was macht ihr mit heartbeat, eine Service-IP für den DB-Server verwalten, die jetzt auf A hochgefahren ist und bei Ausfall dessen auf B hochgefahren wird?

Das ist KEIN Master-Master. Um das zu machen, könnt ihr repmgr / repmgrd nutzen. Dann würde A Master sein und B Standby. Fällt A aus, wird via repmgrd B promotet. Mit der libpq von PG10 oder auch JDBC habt ihr ein automatisches Failover.

Master-Master wäre, wenn die Applikation im Connection-String (A,B) hätte bzw. wenn ihr z.B. 2 Application Server hättet, von denen eine auf A schreibt und der andere auf B. Also jedenfalls so, daß zu einem beliebigen Zeitpunkt die Applikation auf beide schreiben könnte.

Das geht mit BDR. Version 1 davon ist frei nutzbar für 9.4. BDR1 wird nicht weiter entwickelt (keine neuen Feature) Für 9.6 braucht ihr BDR2. BDR und PG10 ist derzeit (offiziell) nicht möglich. Irgendwann kommt BDR3.

tl;dr

ich denke, ihr braucht 'nur' ein Master-Standby - System mit z.B. repmgr.

Re: PG-SQL Cluster

Verfasst: Do 22. Mär 2018, 08:20
von andrezohles
akretschmer hat geschrieben:
Di 20. Mär 2018, 17:18
2 Server, A und B. Beide laufen via Heartbeat? Was macht ihr mit heartbeat, eine Service-IP für den DB-Server verwalten, die jetzt auf A hochgefahren ist und bei Ausfall dessen auf B hochgefahren wird?
Genau eine Service IP-Adresse das die Anwendung immer nur eine IP-Adresse ansprechen müssen
akretschmer hat geschrieben:
Di 20. Mär 2018, 17:18
ich denke, ihr braucht 'nur' ein Master-Standby - System mit z.B. repmgr.
Ok dann werde ich mir das mal ansehen

Ich danke dir schon einmal