Dezentrale Replikation in heterogener Umgebung: Entwicklung eines objektorientierten Prototyps

Autor
M. Klar
Masterarbeit
MT9701 (Mai, 1997)
Betreut von
o. Univ.-Prof. Dr. Michael Schrefl
Angeleitet von
Univ.-Ass. Dipl.-Ing. Günter Preuner
Ausgeführt an
Universität Linz, Institut für Wirtschaftsinformatik - Data & Knowledge Engineering

Einleitung

Motivation:

Informationen sind die Grundlage aller Entscheidungen in einem Unternehmen. Die Verfügbarkeit von Informationen stellt einen entscheidenden Wettbewerbsfaktor dar. Nur wer schnell auf aktuelle Informationen zugreifen kann, wird am Markt bestehen. Entscheidend dafür ist die Form der Datenhaltung, wobei zwischen dem zentralen und dem dezentralen Ansatz unterschieden werden kann.

Der zentrale Ansatz legt fest, daß die Informationen in einer zentralen, unternehmensweiten Datenbank gespeichert werden. Alle Unternehmensbereiche greifen direkt auf die dort abgelegten Informationen zu. Der Vorteil dieses Ansatzes liegt in der Aktualität der Daten, weiters ist eine Abfrage auf abteilungsübergreifende Informationen problemlos möglich. Aufgrund der Überlegung, daß eine einzelne, zentrale Datenbank Probleme in den Bereichen Geschwindigkeit und Ausfallsicherheit bereitet, wurde der zentrale Ansatz durch die Entwicklung von verteilten Datenbanksystemen erweitert.

Die Art der Datenhaltung in einem verteilten Datenbanksystem basiert auf mehreren gleichwertigen, auf verschiedene physikalische orte verteilten Servern, die gemeinsam eine logische Datenbank bereitstellen. Die Informationen sind auf diese Server nach verschiedenen Strategien verteilt (z.B. nach dem Ort der häufigsten Verwendung), wobei diese Tatsache jedoch vor den Anwendungsapplikationen verborgen wird. Obwohl Vorkehrungen für eine kurzzeitige Unterbrechung der Verbindung zwischen den Servern vorgesehen sind, geht man konzeptuell von einer ständigen Verbindung aller Server aus. Bei der Implementierung von Anwendungssystemen bedingt der zentrale Ansatz eine Top-Down-Vorgehensweise. Man muß zuerst das verteilte Datenbanksystem zur Verfügung stellen, auf Basis dessen dann Applikationen entwickelt werden können.

Diese Eigenschaften eines verteilten Datenbanksystems bringen in manchen Anwendungsgebieten Nachteile mit sich. Aufgrund der Eigenschaft, daß alle beteiligten Server ständig miteinander verbunden sein müssen, benötigt man leistungsfähige Netzwerkverbindungen. Diese sind aber bei landes- oder weltweiter Verteilung der Niederlassungen (und damit der Datenbank) kostspielig und nicht immer realisierbar. Weiters ist der Einsatz von mobilen Geräten ohne ständige Netzverbindung (z.B. für den Außendienst) aufgrund dieser Eigenschaft für eine verteilte Datenbank nur bedingt geeignet.

Das Ziel des dezentralen Ansatzes ist es, Informationen in dem System zu verwalten, in dem sie benötigt werden. Jede Arbeitsgruppe erhält ihr eigenes System, das keine Rücksicht auf andere, bestehende Systeme nehmen muß, und das daher auf die Anforderungen der Arbeitsgruppe optimal angepaßt werden kann. Während beispielsweise in der Zentrale eine großrechnerbasierte Datenbank zum Einsatz kommt, kann für die Verkaufsorganisation einer Außenstelle ein LAN-basierter Arbeitsgruppenserver eingesetzt werden. Auf mobilen Geräten findet ein Desktop-Produkt Anwendung. Alle diese Produkte sind von unterschiedlichen Herstellern und verwenden unterschiedliche Technologien. Die einzelnen Datenbanken arbeiten eigenständig, sie tauschen von sich aus untereinander keine Daten aus. Dementsprechend schwierig gestaltet sich eine übergreifende Abfrage über mehrere Datenbanken. Einen zweiten Problemkreis stellt die Aufrechterhaltung der Datenkonsistenz zwischen den Datenbanken dar.

Der große Vorteil des dezentralen Ansatzes liegt in der dem Ansatz inhärenten Bottom-Up-Vorgehensweise des Applikationsentwurfes und der damit verbundenen Flexibilität. Zusätzliche Systeme können hinzugefügt werden, ohne das bestehende Anwendungen davon betroffen werden, umgekehrt muß bei einem neuen System nicht auf die bestehenden Systeme geachtet werden. Der Austausch eines Systems durch ein anderes ist ebenfalls möglich, ohne daß dadurch andere Systeme betroffen wären.

Obwohl der dezentrale Ansatz bezüglich dem ursprünglichen Ziel, der Bereitstellung von globalen Informationen, dem zentralen Ansatz unterlegen ist, ist der dezentrale Ansatz (zumindest in einer Mischform) in der Realität doch oft anzutreffen. Die Ursache liegt meist in historisch gewachsenen Anwendungen, mit deren Entwicklung zu einer Zeit begonnen wurde, in der verteilte Datenbanken noch nicht verfügbar waren, und die jetzt aufgrund ihrer Komplexität nicht ad-hoc auf eine moderne Basis gestellt werden können.

Die Brauchbarkeit des dezentralen Ansatzes hängt davon ab, wie gut es gelingt, die Isolation der einzelnen Datenbanken zu durchbrechen. Dabei sind zwei Ziele zu erfüllen. Einerseits muß die Möglichkeiten der Aufrechterhaltung globaler Konsistenz, und andererseits die Möglichkeit einer globalen Informationsabfrage gegeben sein.

Diese beiden Ziele können durch den Einsatz dezentraler Replikationen erfüllt werden. Dezentrale Replikation ist ein automatisierter Prozeß, der Änderungen an einer Datenbank erkennt und diese Änderungen in einer zweiten Datenbank fortschreibt. Im Unterschied zur verteilten Replikation, die in verteilten Datenbanken Anwendung findet, werden bei der dezentralen Replikation keine Replikate erzeugt, sondern bestehende Mehrfachspeicherungen von Informationen in unterschiedlichen Datenbanken miteinander synchronisiert.

Der genannte Synchronisationsmechanismus kann verwendet werden, um globale Konsistenz aufrecht zu erhalten. Durch die Möglichkeit, Informationen von einer Datenbank in eine andere Datenbank zu kopieren, besteht die Möglichkeit, alle für eine globale Abfrage notwendigen Informationen in einer einzelnen Datenbank zu sammeln. Die dezentrale Replikation ist daher geeignet, die obengenannten Ziele, wenn auch in begrenztem Ausmaß, zu erfüllen.


Aufbau der Diplomarbeit:

Die Diplomarbeit gliedert sich neben diesem einleitenden Kapitel in die folgenden Bereiche:

Kapitel 2 beschreibt die Grundlagen der dezentralen Replikation und grenzt ihr Einsatzgebiet ab. Dabei werden auch die Anforderungen an eine Datenbank, die an der dezentralen Replikation teilhaben sollen, ausgearbeitet. Ein eigener Abschnitt stellt die Replikation in verteilten Datenbanken der dezentralen Replikation gegenüber.

Kapitel 3 behandelt verschiedene Vorgehensweisen, die es ermöglichen, die Heterogenität der verschiedenen Systemkomponenten zu überbrücken. Dabei werden funktionale und objektorientierte Technologien zur Schaffung einer einheitlichen Schnittstelle zwischen Replikationsmechanismus und Datenbanksystem diskutiert.

Im Rahmen der Diplomarbeit wurde ein objektorientierter Prototyp eines dezentralen Replikators implementiert. Die nachfolgenden Kapitel zeigen Architektur und Implementierungsaspekte dieses Replikators auf.

Kapitel 4 beschreibt die Architektur des dezentralen Replikators und erarbeitet die theoretischen Grundlagen der dezentralen Replikation. Es wird gezeigt, daß die dezentrale Replikation das Gebiet der verteilten Datenbanken soweit verläßt, daß es notwendig wird, neue Begriffe zu definieren, da die bestehenden Begriffe aus dem Gebiet der verteilten Datenbanken auf die dezentrale Replikation nicht angewendet werden können.

Kapitel 5 behandelt Aspekte der Implementierung der einzelnen Komponenten des dezentralen Replikators. Dabei wird neben der Beschreibung eines Objektmodells für die Verwaltung von Schemakonvertierungen und der Entwicklung eines Datenmodells für die Speicherung von Metadaten auf die Auswahl und Implementierung unterschiedlicher Replikationsstrategien eingegangen. In diesem Zusammenhang werden auch Algorithmen zur Konfliktbehandlung vorgestellt.

Den Abschluß dieses Kapitels bildet ein Beispiel für die Anwendung der dezentralen Replikation. Dabei wird neben der vollständigen Definition der Abläufe im Metadaten-Verzeichnis auch das Ereignisprotokoll einer konkreten Replikation angeführt.

Die Diplomarbeit schließt mit einen Ausblick in Kapitel 6.