Zum Inhalt springen

Konzepte und Konfiguration verteilter Datenbanken

Wikipedia definiert "verteilte Daten" als "Sammlungen von Daten (z. B. in einer Datenbank), die auf mehrere physische Standorte verteilt sind". Es gibt viele Gründe, warum ein Systemdesigner eine verteilte Datenbanklösung in Betracht ziehen würde. In den folgenden Szenarien werden verschiedene verteilte Konfigurationen und die Vorteile der Konfiguration einer verteilten Datenbankarchitektur hervorgehoben.

Datensicherung

Das einfachste Replikation oder Spiegelung Szenario kann verwendet werden, um wertvolle Daten zu sichern. Da Änderungen in der Masterkopie der Datenbank gespeichert werden, werden dieselben Änderungen an die Slave-Datenbank weitergeleitet. Für Hochverfügbarkeitsumgebungen (HA) Raima Database Manager (RDM) arbeitet mit einem externen HA-Manager zusammen, um Failover- oder Failback-Funktionen auszuführen.

Verteilte Master-Slave-Datenbankverwaltungssysteme

Abbildung 1 - Datensicherung

Eine der Überlegungen in jedem verteilten Datenbankverwaltungssystem ist die Latenz in der Datenkonsistenz zwischen dem Master und dem Slave. Diese Überlegung ist wichtig für die Beurteilung des Kompromisses zwischen Leistung und Datenmenge, die der Anwendungsentwickler im Falle eines katastrophalen Ausfalls in der Master-Datenbank zu verlieren bereit ist.

Viele verteilte Datenbanken bieten synchrone und asynchrone Spiegelungsmodi mit dem Slave. Im synchronen Modus ist der Slave Teil der Aktualisierungstransaktion. Im asynchronen Modus kommen die Aktualisierungen verzögert beim Slave an. Im letzteren Modus hat der Slave weiterhin die alten Werte, wenn der Master vor dem Versand der Updates ausfällt. Dieses Fenster der Dateninkonsistenz zwischen dem Master und dem Slave hängt von der Periodizität und Durchsatzgeschwindigkeit der Aktualisierungsübertragungen zwischen dem Master und dem Slave ab.

Datenbankpartitionierung

Durch das Platzieren von Daten in der Nähe des Standorts mit der größten Nachfrage wird die Leistung automatisch erhöht. Das folgende Diagramm zeigt die Datenbankpartitionierung basierend auf der Standortautonomie. Die Daten, die der Site gehören, werden aktualisiert und durch Replikation auf die zweite Site freigegeben. Mit der RDM-Funktion "Union" können diese separaten Datenbankinstanzen (Sites) als eine Datenbank abgefragt werden, ohne dass Remoteverbindungen zum anderen Standort erforderlich sind. Dies ist möglich, weil RDM den schreibgeschützten Zugriff auf die Slave-Datenbankinstanz ermöglicht.

Datenbankpartitionierung in verschiedenen Städten

Abbildung 2 - Datenbankpartitionierung

Die Latenz in der Datenkonsistenz gilt auch in diesem Szenario, da beide Standorte auf eine Slave-Datenbank zugreifen, um die Daten des anderen Standorts lokal zu lesen. Es wird garantiert, dass die lokale Datenbank irgendwann konsistent ist, und das Fenster der Dateninkonsistenz hängt davon ab, wie schnell die Aktualisierungen vom Master eintreffen.

Datenaggregation

Auf intelligenten Geräten erfasste Daten werden auf dem Markt immer häufiger eingesetzt. Ein Beispiel wären Sensoren an Fahrzeugen oder Schiffen, die eine intermittierende Konnektivität erfahren können. Eingebettete Geräte können die aufgezeichneten Daten senden mobile Datenbanken oder Server durch Replikation oder Datenspiegelung. Die Kommunikation zwischen Geräten ist durch Datenaggregation möglich und kann sogar zu effizienten Prozessen wie der automatisierten Wartung führen, bei denen Sie über einen Prozessfehler benachrichtigt werden können. Das Erfassen von Daten direkt auf dem Gerät erhöht die Erfassungsleistung, da die Latenz der Remotekommunikation zu einem zentralen Speicherrepository verringert wird. Die Replikationsprotokolle können an die Aggregationsdatenbank gesendet werden, wenn die Konnektivität hergestellt ist.

Konfiguration und Steuerung verteilter Datenbanken

Abbildung 3 - Datenaggregation

Konfiguration und Steuerung verteilter Datenbanken

Abbildung 4 - Konfiguration / Steuerung

Konfiguration / Steuerung

Neben der Aggregation von Daten, die von diesen intelligenten Geräten erfasst wurden, benötigen Steuerungssysteme eine sichere und effiziente Methode, um Konfigurationsinformationen oder Steuerdaten an diese Geräte zu senden. Der Systementwickler muss die Gewissheit haben, dass das gesamte Datenübertragungspaket am Gerät ankommt oder überhaupt nicht. Mithilfe der Replikation können Daten von einer zentralen Quelle auf mehrere Geräte verteilt werden.

Die Vorteile einer verteilten Datenbank

Mit einer verteilten Datenbank können Sie Informationen sichern, die Leistung steigern und Daten synchronisieren. Während dies sehr leistungsfähig sein kann, kann ein verteiltes Daten-Design sehr schnell sehr komplex werden. Die Raima-Produkte eignen sich gut für verteilte Datenszenarien wie die oben genannten und mehr. Kontaktieren Sie uns und wir können Ihnen bei Ihren spezifischen Designanforderungen helfen.