Datenbanken synchronisieren
-
Hallo liebe Entwickler,
ich stehe vor einem mehr oder weniger großen Problem.
Wir entwickeln derzeit eine datenbankbasiert Anwendung. Unsere Firma verfügt über mehrere Standorte. Nun soll es in den versch. Standorten jeweils einen eigenen Datenbankserver geben(unabhängig von einer Internetanbindung).
Nun zu meiner Frage: Gibt es dafür best. Verfahren wie man eine solche Synchronisation der Daten elegant abwickeln kann. Die Server sollen sich zum Beispiel nach Feierabend per Cronjob synchronisieren.
Nun gibt es ja das Problem mit Primärschlüsseln die evt. an einem Tag in versch. Standorten vergeben sind(die Anwender arbeiter ja 8 Stunden pro Tag mit Software). Wie löse ich dieses Problem am geschicktesten? Wie machen das die Großen Unternehmen?
Ich hoffe ihr versteht mein Problem...
Grüße Caro
-
Dann musst du das DB-Design so wählen das du nicht von den Primärschlüsseln abhängig bist.
Es gibt dafür keine Lösung wie: Alles Firmen machen das so und so.
Ist eine Firma vernetzt dann ist es einfach. Da gibt es Zentrale Server.
Heutezutage übers INET ja auch kein Problem.
Kommt aber auch auf die Menger der Daten an die Abgefragt werden.MySQL hat z.B. Replikation. Hier geht man von einem INSERT und vielen SELECT-Servern aus.
Die SELECT-Server stehen am jeweiligen Standort wo dann auch schnell abgefragt werden kann. Der INSERT-Server ist Zentral wo alle schreibvorgänge stattfinden.
Bei einer Änderung am INSERT-SERVER holen sich alle SELECT-SERVER sofort die Daten vom INSERT-SERVER.
Manche Firmen schreiben sich aber auch Serverprozesse welche die Datenbankverbindungen verwalten. Dadurch kann man Zentral festlegen welcher Rechner von welchem Server abfrägt.