next up previous contents
Next: 5 Zusammenfassung Up: 4.3 Ergebnisse der Implementierung Previous: 4.3.3 Messungen

Kontrolle der Anforderungserfüllung

Auf Seite gif wurden Anforderungen an das zu entwickelnde Transaktionskonzept aufgestellt, deren Erfüllung nun überprüft werden soll. Hierbei wird zwischen dem Konzept und dem derzeitigen Stand der Implementierung unterschieden.

Von den ACID--Eigenschaften werden die ersten drei wie verlangt durch das Konzept sichergestellt (siehe Kapitel 4.1.7), wenn auch teilweise auf etwas ungewöhnliche Weise mittels Integritätstester und verschiedenen Isolationsgraden. Die Implementation muß leichte Abstriche im Bereich Isolation hinehmen, da durch die nicht vorhandenen Gruppen die 3 Isolation nicht zur Verfügung steht.

Durch den Verzicht auf Serialisierbarkeit umgeht das Konzept viele Probleme, die im Zusammenhang mit langen Transaktionen auftreten können, so daß ihrerBenutzung nichts im Wege steht. Lediglich die ohne Maßnahmen wie frei setzbare Sicherungspunkte mangelhafte Unterstützung eines teilweisen Rücksetzens benötigt noch einige Verbesserungen. Unterschiede zwischen Konzept und Implentation bestehen hier keine.

Die Kooperation zwischen den Benutzern wird durch die verschiedenen zur Wahl stehenden Isolationsgrade ermöglicht. Durch die zusätzliche Integration eines der Transaktionsrestrukturierung (vgl. Kapitel 3.2.2) ähnlichen Konzepts ließe die Kooperation sich allerdings noch erleichtern. Der in der Implementation fehlende Isolationsgrad 3 beeinträchtigt die Kooperation nur in geringem Maße, da für sie eher die niedrigeren Isolationsgrade benötigt werden.

Die Vermeidung der Beschränkung auf bestimmte Anwendungsgebiete konnte nicht vollständig erfüllt werden. Selbst wenn man von den von ConceptBase

vorgegebenen Einschränkungen (keine Rechenoperationen, ...) absieht, erfordert dieses Konzept eine wahrscheinlich nicht immer erfüllbare Eigenschaft: Alle im realen Problem vorhandenen Konsistenzbedingungen müssen sich als ConceptBase --'Constraints' ausdrücken lassen.

Das Anwortverhalten bei mehreren gleichzeitigen Benutzern konnte durch die in der Implementation verwendete Architektur aus mehreren Kernen und einem zentralen Objektserver mit mehreren 'Threads' deutlich verbessert werden. Die sich ergebenden Leistungseinbußen des Konzepts werden zum einen durch die daher notwendige Übertragung von Informationen zwischen Objektserver und Kernen bedingt. Zum anderen hat anscheinend auch der Übergang auf eine homogenere Verwendung von Zeigern Gerschwindigkeitseinbußen verursacht.

Im Proposal wurden verschiedene Vorschläge gemacht, wie die Kompatibilität zu alten Applikationen erhalten werden kann. Diese wurden nicht weiter verfolgt, da die Anpassung alter Applikationen nur geringe Schwierigkeiten bereitet. Wird für sie ein Gruppe mit 2 Isolation erzeugt (in der derzeitigen Implementation nur begrenzt möglich) und werden die einzelnen Befehle und Anfragen der Anwendungen an ConceptBase jeweils mit einem ``Transaktionsanfang``--``Transaktionsende``--Paar eingeklammert, sollten sie weiterhin funktionieren. Die notwendigen Änderungen am Quelltext können dabei gleich zu Überlegungen genutzt werden, wie man sich die Transaktionsf''higkeiten von ConceptBase besser zunutze machen kann.

Das vorgestellte Konzept erfüllt also die meisten der gestellten Anforderungen voll und die anderen zumindest teilweise. Allerdings erfüllt die Implementation eine im zweiten Kapitel nicht gestellte aber implizit vorausgesetzte Anforderung nicht: Sie läßt sich nicht in die derzeitige Version von ConceptBase integrieren.



next up previous contents
Next: 5 Zusammenfassung Up: 4.3 Ergebnisse der Implementierung Previous: 4.3.3 Messungen



Markus Baumeister
Fri Jun 9 15:38:00 MET DST 1995