Seite 1 von 1

Datenbank abwechseln

Verfasst: Mi 4. Apr 2018, 14:31
von oizzwma
Hi,

Ein Anwender will täglich in einer 1sten DB Daten aufbereiten (PG-Cluster1/DB).
Am nächsten Tag sollen dieses Daten den Clients bereitgestellt werden (PG-Cluster1/DB).
Zeitgleich will er in einer 2ten DB Daten für den nächsten Tag aufbereiten (PG-Cluster2/DB).
Am nächsten Tag sollen diese Daten den Clients bereitgestellt werden (PG-Cluster2/DB).
Zeitgleich will er in der 1sten DB neue Daten für den nächsten Tag aufbereiten (PG-Cluster1/DB).

Das soll immer im gleichen Zyklus weiterlaufen.
!!! Der Connect String für die Clients darf sich aber nicht verändern !!!

Dafür will er auf demselben Host 2 PG-Cluster mit jeweils derselben PG-Datenbank installieren.
Nachts will er mittels Script im "postgres.conf" die Ports austauschen und die Cluster restarten.

Hat jemand eine Idee, wie man das mittels Pooling od. HA Software eleganter lösen kann?

Danke,
Markus

Re: Datenbank abwechseln

Verfasst: Mi 4. Apr 2018, 16:20
von castorp
Warum denn in zwei getrennten Datenbanken? Warum wechselt ihr nicht einfach zwischen zwei Schemata?

Re: Datenbank abwechseln

Verfasst: Mi 4. Apr 2018, 16:46
von akretschmer
Ich versteh das Ziel der Übung nicht. Sollen die Clients nur eine Read-Only-Verbindung haben? Sollen die Clients immer die Daten mit einem Tag Versatz sehen? Wenn die Clients heute was eingeben, also in die DB schreiben können, dann sehen sie morgen diese Daten nicht, dafür aber übermorgen. Die Daten vom Montag sehen sie also am Mittwoch, Freitag, Sonntag, Dienstag Folgewoche. Das ergibt so erst einmal nur einen sehr geringen Wert.

Re: Datenbank abwechseln

Verfasst: Do 5. Apr 2018, 12:04
von Gisman
Hier bräuchte man vermutlich auch keine 2 Schemata, da würden vermutlich auch Views reichen, je nachdem was 'Aufbereiten' umfasst. Was jetzt nicht heisst, dass ich die Aufgabenstellung verstanden hätte...

Re: Datenbank abwechseln

Verfasst: Do 5. Apr 2018, 12:38
von castorp
Gisman hat geschrieben:
Do 5. Apr 2018, 12:04
Hier bräuchte man vermutlich auch keine 2 Schemata, da würden vermutlich auch Views reichen
Mit den Views hat man immer das Problem, dass man die nicht umbenennen kann, wenn die gerade verwendet werden (ein SELECT reicht da ja schon).
Mit den Schemata, könnte man den search_path des DB Users ändern (egal was der gerade macht) und wenn der sich das nächste Mal verbindet sind die neuen Daten "aktiv".