Peter Dadam
Verteilte Datenbanken und Client/Server-Systeme
Grundlagen, Konzepte und Realisierungsformen
Peter Dadam
Verteilte Datenbanken und Client/Server-Systeme
Grundlagen, Konzepte und Realisierungsformen
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Das Buch ist ein umfassender Kurs über Realisierungsformen verteilter Informationssysteme und wendet sich an Studierende, Wissenschaftler und Praktiker. Es vermittelt Grundlagenwissen über die in den verschiedenen Teilbereichen auftretenden Problemstellungen und diskutiert die technologischen Alternativen.
Andere Kunden interessierten sich auch für
- Stefan NusserSicherheitskonzepte im WWW54,99 €
- Dieter HogrefeEstelle, LOTOS und SDL39,99 €
- Günther BengelGrundkurs Verteilte Systeme49,99 €
- Database Application Engineering with DAIDA79,99 €
- Peter MandlMasterkurs Verteilte betriebliche Informationssysteme37,99 €
- Ralf AdamsSQL29,99 €
- Wolfhard ThienenClient/Server54,99 €
-
-
-
Das Buch ist ein umfassender Kurs über Realisierungsformen verteilter Informationssysteme und wendet sich an Studierende, Wissenschaftler und Praktiker. Es vermittelt Grundlagenwissen über die in den verschiedenen Teilbereichen auftretenden Problemstellungen und diskutiert die technologischen Alternativen.
Produktdetails
- Produktdetails
- Verlag: Springer / Springer Berlin Heidelberg / Springer, Berlin
- Artikelnr. des Verlages: 10541723, 978-3-540-61399-2
- 1996.
- Seitenzahl: 432
- Erscheinungstermin: 16. September 1996
- Deutsch
- Abmessung: 235mm x 155mm x 24mm
- Gewicht: 674g
- ISBN-13: 9783540613992
- ISBN-10: 3540613994
- Artikelnr.: 06620202
- Verlag: Springer / Springer Berlin Heidelberg / Springer, Berlin
- Artikelnr. des Verlages: 10541723, 978-3-540-61399-2
- 1996.
- Seitenzahl: 432
- Erscheinungstermin: 16. September 1996
- Deutsch
- Abmessung: 235mm x 155mm x 24mm
- Gewicht: 674g
- ISBN-13: 9783540613992
- ISBN-10: 3540613994
- Artikelnr.: 06620202
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.
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.