Synchronisierung mehrerer Postgis-Datenbanken oder alternativer Ansatz

n3buchadn3zar

Neu angemeldet
Registriert
12 Nov. 2019
Beiträge
1
Moin,

nach einer Weile als stiller Mitleser hoffe ich auf ein wenig Input von euch.

Ich arbeite mit Geodaten, die in einer Postgis-Datenbank (Geo-Erweiterung von Postgres) auf einem Server liegen. Den gleichen Datenstand benötige ich auch auf mehreren Tablets, um dort ebenfalls mit der Datenbank arbeiten zu können. Die Tablets haben allerdings nicht immer eine Verbindung zum Server, daher kann ich nicht direkt auf dem Server arbeiten, sondern benötige eine lokale Instanz der Datenbank auf jedem Tablet.
Ich suche nun nach einer Lösung mit der ich Datenbestände zwischen dem Server und dem Tablets Zwei-Wege-Synchronisieren kann. Während ein oder mehrere Tablets "offline" sind, kann sich der Datenbestand sowohl auf dem Server, als auch auf einem oder mehreren Tablets verändern. Am Besten über ein einfaches Python-Script, das ich auf den Tablets bei Bedarf ausführen kann.

Ich hatte dafür bereits Londiste aus Skytools befunden. Allerdings ist die Domain des Projekts seit kurzem abgelaufen ( ) wobei ich mir bei allen Tools nicht sicher bin, ob diese auch mit der Postgis-Erweiterung klar kommen. Hat jemand von euch einen Tipp für die Umsetzung?
 
Gleich eine Frage, können Datenänderungen sich überschneiden? Also das Tablet A und Tablet B an einem Dateneintrag arbeiten und es zu überlappungen kommt wer wann was verändert hat?
Und was für Tablets setzt du ein und kann zum Beispiel Python dort überhaupt ausgeführt werden? Und welche für Software arbeitet mit der Datenbank auf den Tablets?
 
Und um welche Datenmenge in Summe und an Änderungen geht es?
Sonst wäre statt einem klassischen "blinden " Sync auch so etwas wie ein update-paket denkbar das die Tables zum Server uploaden - auf dem sie dann importiert werden und im zweifel mit den vorhanden Daten verschmolzen werden bzw. sogar nur der "neueste" importiert wird - z.B. 1x Nachts.

Ebenso könnte das Tablet alle Änderungen in der DB seit Zeitpunkt x (der letzten aktualisierung) anfordern als kompromierten dump und diesen lokal importieren.
Insofern Zeitstempel vorhanden sind dürfte das alles mit überschaubaren sql-abfragen zu erledigen sein.
 
Wenn es keine all zu großen Datenmengen sind, kannst du die Daten hoch und runter laden, wenn das Tablet am Internet hängt. Jeglich bedenken die man dabei haben sollte haben @theSplit und @drfuture ja bereits genannt.
 
Zurück
Oben