Die Verteilkomponente SESDCN ist zentraler Bestandteil des Produkts SESAM/SQL-DCN.Die Verteilkomponente SESDCN muss in allen Konfigurationen geladen sein, die an der verteilten Verarbeitung teilnehmen. Die Konfigurationen können dabei alle auf demselben Rechner oder auch auf verschiedenen Rechnern liegen. Greift ein Anwenderprogramm auf eine Datenbank zu, die sich unter der Kontrolle eines DBH befindet, der einer anderen Konfiguration angehört als das Anwenderprogramm, so spricht man von einem Remote-Zugriff. Im Gegensatz dazu spricht man von einem lokalen Zugriff, wenn ein Anwenderprogramm nur auf Datenbanken zugreift, die sich unter der Kontrolle eines DBH befinden, der derselben Konfiguration angehört wie das Anwenderprogramm.
Die Aufgaben der Verteilkomponente SESDCN sind im Einzelnen:
Aufbau und Verwaltung der Verteilregeln
Entgegennahme von Remote-Zugriffen und Weiterleiten an den zuständigen SESAM/SQL-DBH
Administration des Datenbankbetriebs (z.B. Ausführen von Administrationsanweisungen, Erkennen von Sperren)
Überwachen von lokalen DBHs und Anwenderprogrammen
Koordination und Durchführung des SESDCN-Wiederanlaufs
Deadlock-Erkennung
Distributed Data Base Handler
In jeder Konfiguration bzw. jedem Rechner, in dem ein Anwenderprogramm auf eine oder mehrere Datenbanken zugreift, muss ein SESAM/SQL-DBH geladen sein. Der DBH steuert und verwaltet die Datenbankzugriffe. Die Gesamtheit aller DBHs, die an der verteilten Verarbeitung beteiligt sind, heißt Distributed Data Base Handler, kurz DDBH.
Verteilung von Anweisungen
Bei der verteilten Verarbeitung mit SESAM/SQL-DCN schickt das Konnektionsmodul DBCON die SQL- und/oder CALL-DML-Anweisungen, die ein Anwenderprogramm innerhalb einer Session absetzt, zur Bearbeitung an unterschiedliche DBHs.
Jede Anweisung, die keinen Vorgang und keine Transaktion beendet, schickt das Konnektionsmodul vollständig an einen bestimmten DBH. Eine Anweisung wird also nur von einem DBH bearbeitet. Dieses Verhalten heißt „function shipping“. Nur solche Anweisungen, die die aktuelle Transaktion beenden (COMMIT, ROLLBACK bei SQL, ETA bei CALL-DML), werden an alle DBHs geschickt, die an der aktuellen Transaktion beteiligt sind.
Definition der Verteilung in den Verteilregeln
Bei der Verteilung von Anweisungen bleibt es dem Anwenderprogramm verborgen, mit welchem DBH es gerade zusammenarbeitet. Auch bei der verteilten Verarbeitung muss ein Anwenderprogramm somit nur die Datenbank „kennen“, in der es z.B. eine bestimmte Tabelle anspricht.
Nicht zu wissen braucht das Anwenderprogramm hingegen,
auf welchem Rechner die Datenbank liegt,
welcher Konfiguration die Datenbank zugeordnet ist,
an welche Verteilkomponente das Konnektionsmodul DBCON die Anweisungen schickt (nur bei Remote-Zugriffen),
welcher DBH die Anweisungen bearbeitet.
Diese Angaben ermittelt das Konnektionsmodul selbstständig aus den Verteilregeln, die für jede Datenbank den zugehörigen „Zugriffspfad“, bestehend aus Rechnername, Konfigurationsname, DCN-Name und DBH-Name festlegen. Da das Konnektionsmodul den Datenbanknamen als Suchkriterium verwendet, muss der Datenbankname innerhalb der verteilten Anwendung, d.h. netzweit eindeutig sein.
Die Definition und Administration der Verteilregeln erfolgt über die Verteilkomponente SESDCN. Zur Definition der Verteilregeln verwendet der Systemverwalter die SESDCN-Steueranweisungen ADD-DISTRIBUTION-RULE-LIST und ADD-NETWORK-LINK-LIST. Aufgrund dieser Anweisungen baut SESDCN die Verteilregeln auf. Mit Hilfe von Administrationsanweisungen kann der Systemverwalter darüber hinaus die Verteilregeln im laufenden Betrieb den aktuellen Erfordernissen anpassen. SESDCN wird über dieselben Schnittstellen administriert wie der DBH.
Durchsatzsteigerung durch Laden mehrerer SESDCNs
In den meisten Fällen ist es ausreichend, pro Konfiguration SESDCN nur einmal zu laden. Bei Laufzeitverschlechterungen auf Grund vieler Remote-Zugriffe an einen SESDCN lässt sich jedoch der Gesamtdurchsatz bei Remote-Zugriffen durch das Laden mehrerer SESDCNs steigern. Durch Parallelbearbeitung der Remote-Aufträge wird so eine bessere Auslastung der Übertragungskomponenten erreicht.
Beim Laden mehrerer SESDCNs ist zu beachten, dass einem DBH immer nur ein SESDCN zugeordnet werden kann.