1. Einführung, Problemstellung und Überblick.- 1.1 Einführung.- 1.2 Allgemeine Problemstellungen.- 1.2.1 Problemstellung bei Dezentralisierung.- 1.2.2 Problemstellung bei Integration.- 1.3 Formen und Problemstellungen von verteilten Informationssystemen.- 1.3.1 Räumliche Aspekte.- 1.3.2 Konventionell versus mittels verteiltem DBMS realisierte verteilte Informationssysteme.- 1.3.3 Realisierungsformen verteilter DBMSe.- 1.3.4 Zusammenfassung Realisierungsformen.- 1.3.5 Abgrenzung zu verteilten Dateisystemen.- 1.3.6 Client/Server-Anwendungen.- 1.4 Aufbau des Buches.- 2. Rechnernetze.- 2.1 Netze und Dienste auf Netzen.- 2.2 Netztopologien.- 2.3 Lokale Netze.- 2.3.1 Medium Access Control (MAC) — Allgemeines.- 2.3.2 CSMA/CD.- 2.3.3 Token-Passing-Verfahren.- 2.3.4 Leistungsverhalten.- 2.3.5 Early Token Release.- 2.4 Weitverkehrsnetze.- 2.5 Wegewahl (routing).- 2.6 Das ISO/OSI-Referenzmodell.- 2.7 Zusammenfassung.- 3. Grundlagen relationaler Datenbanksysteme.- 3.1 Relationenalgebra.- 3.2 Normalformen.- 3.3 Korrekte Zerlegung von Relationen.- 3.4 Zusammenfassung von Relationen (Relationensynthese).- 4. Speicherung globaler Relationen.- 4.1 Vorbemerkungen.- 4.2 Partitionierung und Allokation.- 4.3 Partitionierungsformen.- 4.3.1 Horizontale Partitionierung.- 4.3.2 Abgeleitete horizontale Partitionierung.- 4.3.3 Vertikale Partitionierung.- 4.3.4 Gemischte Partitionierung.- 4.3.5 Abschließende Bemerkungen.- 4.4 Bestimmung geeigneter Partitionen.- 4.4.1 Vorbemerkungen.- 4.4.2 Bestimmung horizontaler Partitionen.- 4.4.3 Bestimmung abgeleiteter horizontaler Partitionen.- 4.4.4 Bestimmung vertikaler Partitionen.- 4.5 Physische Verteilung der Daten (Allokation).- 4.5.1 Allgemeines.- 4.5.2 Mathematisches Modell für nicht-redundante Allokation.- 4.5.3 Mathematisches Modell für redundante Allokation.- 4.5.4 Beispiel für die Bestimmung einer optimalen Allokation.- 4.5.5 Abschließende Bemerkungen.- 5. Schema-Architekturen verteilter Datenbanksysteme.- 5.1 Einführung.- 5.2 Homogene, prä-integrierte Datenbanksysteme.- 5.3 Heterogene, prä-integrierte Datenbanksysteme.- 5.4 Allgemeines zu post-integrierten Systemen.- 5.4.1 Koexistenzproblematik und allgemeine Schema-Architektur.- 5.4.2 Schema-Integration.- 5.4.3 Updates über post-integrierte DB-Schemata.- 5.5 Homogene, post-integrierte Datenbanksysteme.- 5.6 Heterogene, post-integrierte Datenbanksysteme.- 5.6.1 Unterstützung lesender Zugriffe.- 5.6.2 Unterstützung ändernder Zugriffe.- 5.6.3 Schema-Information.- 5.7 Realisierung des globalen Katalogs.- 6. Anfragebearbeitung.- 6.1 Allgemeines.- 6.2 Formale Grundlagen der Anfragebearbeitung.- 6.2.1 Vorbemerkungen.- 6.2.2 Äquivaienzumformungen.- 6.2.3 Anfragetransformation und -Optimierung (Beispiel).- 6.2.4 Abschließende Bemerkungen zur Anfragetransformation.- 6.3 Transformation von globalen Anfragen in lokale Anfragen.- 6.4 Erkennung überflüssiger Teilanfragen.- 6.4.1 Vorüberlegungen.- 6.4.2 Qualifizierte Relationen.- 6.5 Ausführung von Teilanfragen.- 6.5.1 Parallele Ausführung bei horizontaler Partitionierung.- 6.5.2 Parallele Ausführung bei vertikaler Partitionierung.- 6.6 Ausführung von Änderungsoperationen.- 6.6.1 Horizontal partitionierte globale Relationen.- 6.6.2 Vertikal partitionierte globale Relationen.- 6.7 Übertragungskosten und Übertragungsdauer.- 6.8 Berechnung von Joins.- 6.8.1 Allgemeines.- 6.8.2 Nested-Loop-Join.- 6.8.3 Sort-Merge-Join.- 6.8.4 Verbundberechnung mittels Semi-Join.- 6.8.5 Verbundberechnung mittels Hashfilter.- 6.8.6 Abschließende Bemerkungen zur Join-Berechnung.- 6.9 Bestimmung einer optimalen Ausführungsstrategie.- 6.9.1 Relationsprofil.- 6.9.2 Berechnung des Relationsprofils von Ergebnisrelationen.- 6.10 Bewertung und Vergleich von Ausführungsplänen.- 7. Globale Transaktionen.- 7.1 Begriff der Transaktion.- 7.2 Globale und lokale Transaktionen.- 7.3 Formen entfernter Programm- und Transaktionsausführung.- 7.3.1 Entfernter Programmaufruf.- 7.3.2 Entfernte Ausführung einer Transaktion.- 7.3.3 Entfernt ausgeführte Teiltransaktionen.- 7.3.4 Verteilte Transaktionen.- 7.4 Korrekte parallele Ausführung globaler Transaktionen.- 7.4.1 Korrekte Transaktionsausführung im zentralen Fall.- 7.4.2 Korrekte Transaktionsausführung im verteilten Fall.- 7.5 Transaktionsaufrufstrukturen.- 7.6 Freigabe von Änderungen, Commit-Protokolle.- 7.6.1 Zwei-Phasen-Commit-Protokoll (2PC-Protokoll).- 7.6.2 Verhalten bei Knotenausfällen.- 7.6.3 Presumed-Abort-/ Presumed-Commit-2PC-Protokoll.- 7.7 Weiterführende Transaktionskonzepte.- 7.7.1 Geschlossen-geschachtelte Transaktionen.- 7.7.2 Offen-geschachtelte Transaktionen.- 8. Synchronisationsverfahren.- 8.1 Sperrverfahren.- 8.2 Optimistische Synchronisationsverfahren.- 8.3 Andere Synchronisationsverfahren.- 8.4 Erkennung und Auflösung von Verklemmungen.- 8.4.1 Zentralisierte Suche nach Verklemmungen.- 8.4.2 Dezentrale Suche nach Verklemmungen.- 8.4.3 Abschließende Bemerkungen zur verteilten Deadlocksuche.- 9. Replikationsverfahren.- 9.1 Motivation.- 9.2 Grundsätzliche Problemstellungen und Vorgehensweisen.- 9.2.1 Read-One-Write-All-Verfahren (ROWA-Verfahren).- 9.2.2 Kopien-Update-Strategien.- 9.2.3 Strategien für den Fehlerfall.- 9.2.4 Synchronisation von Updatetransaktionen.- 9.2.5 Behandlung von Lesetransaktionen.- 9.3 Ausgewählte Verfahren.- 9.3.1 Primary Copy.- 9.3.2 Majority Consensus.- 9.3.3 Dynamic Voting.- 9.3.4 Tree Quorum.- 9.3.5 Reconfigurable Tree Quorum.- 9.3.6 Data Patches.- 9.3.7 Semantikbasiertes Replikationsmanagement.- 9.4 Abschließende Bemerkungen.- 10. Recovery.- 10.1 Kurzzeit-Recovery (Crash-Recovery).- 10.2 Langzeit-Recovery (Media-Recovery).- 10.2.1 Strikt-synchronisierte lokale Sicherungspunkte.- 10.2.2 Lose-synchronisierte lokale Sicherungspunkte.- 10.2.3 Nicht-synchronisierte lokale Sicherungspunkte.- 11. Client/Server-Anwendungen.- 11.1 Allgemeines.- 11.2 Das Client/Server-Modell.- 11.3 Architekturaspekte.- 11.3.1 Verteilte Präsentation.- 11.3.2 Entfernter Datenbankzugriff.- 11.3.3 Verteilte Applikationsfunktion.- 11.4 Basistechnologien.- 11.4.1 Remote Procedure Call (RPC).- 11.4.2 Systemeinbettung: Prozesse und Threads.- 11.4.3 Kommunikationsdienste.- 11.4.4 Autorisierung, Authentifizierung und geschützte Übertragung.- 11.4.5 Common Object Request Broker Architecture (CORBA).- 11.4.6 Remote Database Access (RDA).- 11.4.7 TP-Monitore.- 11.5 Technisch/wissenschaftliche Anwendungen.- 11.5.1 Allgemeines.- 11.5.2 Problemstellung (am Beispiel einer Robotik-Anwendung).- 11.5.3 Zugriff auf komplexe Objekte.- 11.5.4 Kooperative Objektbearbeitung.- 11.5.5 Lange Transaktionen.- 11.6 Abschließende Bemerkungen.- 12. Zusammenfassung und Ausblick.- 13. Literatur.- 14. Lösungen zu den Übungsaufgaben.- Anhang A: Programm zur Bestimmung der optimalen Allokation.- Anhang B: Transaktionsabhängigkeitsgraph.- Anhang C: Topologische Knotensortierung.- Anhang D: Deadlocksuche.- Anhang E: Deklaration von Triggern.- Anhang F: Prozeßerzeugung und -überlagerung in UNIX.- Anhang G: Stream-Verbindung.- Anhang H: Datagram-Verbindung.