Frage

Ich bin sicher nicht, wenn es genau paßt Stackoverflow, aber als ich für einige Codes bin auf der Suche eher als ein Werkzeug, ich denke, es funktioniert.

Ich bin für eine Art der Betrachtung, wie verschiedene Datenbanksysteme zu replizieren / synchronisieren - in diesem Fall: mysql und mongodb. Wir laufen beide für verschiedene Zwecke. Wir begannen mit einer MySQL-Datenbank und mongodb später für spezielle Anwendungen hinzugefügt. Es gibt Daten, die wir in beiden Datenbanken haben möchten, wo wir Einschränkungen in mysql respectivly dbrefs in mongodb haben wollen. Zum Beispiel: Wir brauchen einen Benutzer-Datensatz in MySQL, aber auch in mongodb für Referenzen zwischen Tabellen respectivly Objekten. Im Moment haben wir einen Cronjob, der die MySQL-Daten und importiert sie in mongodb Dumps. Doch obwohl es recht gut funktioniert, dass nicht die Lösung ist würden wir gerne hätten.

denke ich im Moment eine Ein-Wege-Replikation ausreichen würde, -. Mysql-> mongodb, der wichtige Teil ist, dass die Replikation funktioniert in „Echtzeit“, ähnlich wie eine mysql Master-> Slave-Replikation funktioniert

Gibt es bereits Lösungen für dieses Problem oder Ideen jemanden, wie dies zu erreichen?

Danke!

War es hilfreich?

Lösung

Was Sie suchen ist EAI genannt ( Enterprise Application Integration ). Es gibt eine Menge von kommerziellen Werkzeugen um, aber unter dem angegebenen Link, werden Sie auch ein paar OSS-Lösungen zu finden. Die Basis von EAI ist, dass Sie Datenquellen und Datensenken haben. Die EAI Framework bietet Werkzeuge zu bauen individuelle Pumpen zwischen den beiden.

Ich schlage vor, entweder einen DB-Trigger zu verwenden, um die Synchronisation zu starten oder ein Triggersignal in Ihren Anwendungen senden. Beachten Sie, dass es keine Schlüsselloch-Lösung, da die Synchronisation beliebig komplex werden kann (zum Beispiel, wie wollen Sie sicherstellen, dass alle Zeilen kopiert werden?).

Andere Tipps

SymmetricDS ist Open Source, Java-basierte, webfähigen, Datenbank-unabhängige, Datensynchronisation / Replikations-Software, dass Macht der Trick mit ein paar Veränderungen. Es verfügt über einen Erweiterungspunkt genannt IDataLoaderFilter, die Sie einen MongodbDataLoader implementieren nutzen könnten.

Dies würde mit einer Art und Weise der Datenbankreplikation helfen. Es könnte ein wenig schwieriger zu von MongoDB synchronisiert. -> relationaler Datenbank, aber das SymmetricDS Team wäre sehr hilfreich bei dem Versuch, die Lösung zu finden

Soweit ich sehe, Sie brauchen eine Art „Steuerprogramm“ zu entwickeln, die die Treiber für jedes DBMS hat und es als Daemon laufen. Der Daemon sollte einen Auslöser hat oder ein sehr kleine Neuprüfung Intervall der DBs synchronisiert

zu halten

Technisch könnte man einen Prozess einrichten, die das Binärlog des MySQL-Servers analysiert und replizieren die entsprechenden SQL-Abfragen. Ich habe noch nie so etwas mit einer anderen Datenbank als Slave getan, aber vielleicht ist es einen Versuch wert?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top