2 Stimmen

mehrere Datenbankverbindungen vs. zentralisierte/redundante Datenbank

Ich habe ein Projekt zur Erstellung eines Dashboards, das sowohl mit bestehenden Systemen verbunden werden kann als auch neue Funktionen auf der Grundlage der Kombination von Daten aus den bestehenden Systemen erstellen kann. Zum Beispiel wird das Dashboard in der Lage sein, "Bestellungen" zu generieren, die Daten aus "Mitgliedern" (MS Access DB), "Mitarbeitern" (MySQL DB) und "Produkten" (Flat File) enthalten, und es wird auch neue Attribute speziell für "Bestellungen" geben.

Zunächst dachte ich, dass es am effizientesten wäre, meine Anwendung mit jedem der Systeme separat zu verbinden und herstellerübergreifende Joins zwischen den verschiedenen Datenbanken durchzuführen. Aber dann dachte ich, dass die Einrichtung einer zentralen/redundanten Datenbank (mit Skripten, die Daten zwischen den Systemen schieben und ziehen) auch nützlich sein könnte, weil es einige halbtechnische Mitarbeiter in die Lage versetzen würde, Produkte wie OOBase zu verwenden, die nur eine einzige Verbindung herstellen können.

Gibt es noch andere Vorteile bei der Erstellung einer zentralisierten/redundanten DB wie der, über die ich spreche? Oder sind mehrere direkte Verbindungen der beste Ansatz?

Vielen Dank im Voraus für alle Tipps.

2voto

Ilya Kochetov Punkte 17577

Um es kurz zu machen: Ja, Sie wollen einen zentralen Datenspeicher.

Sie möchten keine komplexen Berichte in Ihrer Live-Datenbank ausführen. Wenn Ihre Live-Datenbank wächst, sollten Sie sie aufräumen und bereinigen, aber die Daten für Analysen aufbewahren.

Sie werden auch wollen, dass die Daten aggregiert werden, damit Sie historische Analysen durchführen können.

Bei Daten, die aus verschiedenen Quellen stammen, ist eine Bereinigung erforderlich. Außerdem müssen Sie wahrscheinlich wissen, wie Sie Ihre Daten miteinander verknüpfen können, und es gibt eine ganze Reihe von Dingen, die Sie wissen müssen, um die Arbeit richtig zu erledigen.

Sie könnten sich mit dem Thema Data Warehousing befassen ( wikipedia ) und Business Intelligence ( wikipedia ).

Wenn Sie "neue Funktionen" zu diesem System hinzufügen möchten, können Sie sich auch über die Orchestrierung ( wikipedia . Sie ermöglicht es Ihnen, Ihre heterogenen Geschäftsprozesse miteinander zu verknüpfen.

All dies sind recht spezialisierte und komplexe Disziplinen, so dass Sie sich vielleicht von einem Spezialisten beraten lassen sollten.

1voto

Aaron Digulla Punkte 308693

Seien Sie sehr, sehr vorsichtig, wenn Sie viele Daten herumkopieren. Wenn Sie dies tun, finden Sie hier einige wichtige Hinweise:

  1. Stellen Sie sicher, dass ein System als Master definiert ist und kein anderes System die Daten manipulieren kann.

  2. Kopieren Sie immer Daten vom Master zu den Slaves.

  3. Wenn Sie die Daten kopieren, verwenden Sie eine Art Prüfsumme, um sicherzustellen, dass alle Daten kopiert wurden. Vergewissern Sie sich, dass Sie mit der Meldung "Gestern ist die Kopie fehlgeschlagen" umgehen können.

  4. Wenn ein Slave eine Änderung vornehmen muss, schieben Sie die Änderung zum Master und verwenden Sie dann den Standardpfad "Update", um sie wieder auf dem Slave zusammenzuführen. Vermeiden Sie "Änderung auf dem Slave speichern und den Master irgendwann in der Zukunft aktualisieren".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X