it-swarm.com.de

Unterschiede zwischen Hot Standby und Warm Standby Postgresql?

Ich bin verwirrt über die Unterschiede zwischen den Datenbankreplikationsmethoden, die auf einer Wiki-Seite von postgres erwähnt werden. Was ist für eine normale Situation am besten?

  1. warm-Standby/Kontinuierliche Archivierung/Protokollversand

    bietet hohe Verfügbarkeit

    http://www.postgresql.org/docs/current/static/warm-standby.html

  2. hot-Standby/Binärreplikation/Streaming-Replikation

    wird für schreibgeschützte Abfragen verwendet

    https://wiki.postgresql.org/wiki/Hot_Standby

    https://wiki.postgresql.org/wiki/Binary_Replication_Tutorial

  3. PITR

3
dorbodwolf

Diese Wörter werden oft missverstanden und Begriffe werden oft miteinander verwechselt, weil sie in derselben Version von PostgreSQL angekommen sind.

  • Warm-Standby ist einfach eine Replik, die nicht für schreibgeschützte SQL-Anweisungen geöffnet ist.
  • Im Gegensatz dazu ist Hot-Standby ein Replikat, das für schreibgeschützte SQL-Anweisungen geöffnet ist.
  • Vorher hatten wir einen "kalten Standby". Es war einfach eine wiederhergestellte Sicherung, die gestartet werden konnte, falls der primäre Knoten ausfiel.
  • Der Protokollversand ist die Technik der alten Schule, mit der die WALs (Write Ahead-Protokolle) an ein Replikat gesendet werden, damit Transaktionen auf dem Primärknoten wiedergegeben werden können. Die Datei wird gesendet, sobald der primäre Knoten nicht mehr in sie schreibt. Die Verzögerung zwischen primärem und sekundärem Knoten hängt also davon ab, wie schnell der primäre Knoten eine andere Datei benötigt (Sie können jedoch angeben, dass nach x Minuten eine neue Datei benötigt wird).
  • Die Streaming-Replikation ist die aktualisierte Technik, mit der geänderte Datenblöcke gesendet werden können, ohne darauf zu warten, dass die WAL-Datei von der Primärdatei geschlossen wird. Es wird gesendet, sobald dieser Block die WAL-Datei geschrieben hat. So können wir die Verzögerung zwischen primären und sekundären Knoten reduzieren.
  • Durch die kontinuierliche Archivierung kann Postgres WAL-Dateien archivieren, wenn sie nicht mehr benötigt werden.
  • Die binäre Replikation ist ein Synonym für die physische Replikation (Warm- und Hot-Standby). Dies bedeutet einfach, dass beide Knoten binär identisch sind.

Ich hoffe das wird helfen!

5
Arkhena

Ich habe die Streaming-Replikation mit kontinuierlicher Archivierung in meiner Umgebung konfiguriert.

  1. Die Streaming-Replikation bietet ein aktuelleres Standby/Replikat. Im Falle eines Prod-Absturzes gehen aufgrund des Streaming von Daten von Prod zu DR vi TCP -Protokoll) weniger Daten verloren.

  2. Die kontinuierliche Archivierung bietet eine Wiederherstellung zu einem bestimmten Zeitpunkt. Außerdem kann ich die Standby-Datenbank im Falle einer Archivierungsverzögerung aufgrund eines Netzwerkfehlers wiederherstellen.

Bitte beziehen Sie sich auf den Link für weitere Informationen.

https://www.percona.com/blog/2018/09/07/setting-up-streaming-replication-postgresql/

1
Adam Mulla