Mehrrechner-Datenbanksysteme
Inhaltsverzeichnis
- Inhaltsverzeichnis
-
- Teil I - Grundlagen
-
- 1 - Einführung
-
- 1.1 - Von der zentralisierten zur verteilten Datenbankverarbeitung
-
- 1.2 - Anforderungen an Mehrrechner-Datenbanksysteme
-
- 2 - Datenbanksysteme und Rechnernetze
-
- 2.1 - Datenbanksysteme
-
- 2.1.1 - Relationale Datenbanken
-
- 2.1.2 - Aufbau von Datenbanksystemen
-
- 2.1.3 - Das Transaktionskonzept
-
- 2.1.4 - Transaktionssysteme
-
- 2.2 - Rechnernetze
-
- 2.2.1 - Typen von Rechnernetzen
-
- 2.2.2 - ISO-Referenzmodell
-
- 3 - Klassifikation von Mehrrechner-Datenbanksystemen
-
- 3.1 - Shared-Everything, Shared-Disk, Shared-Nothing
-
- 3.1.1 - Klassifikationsmerkmale
-
- 3.1.2 - Technische Probleme
-
- 3.2 - Integrierte vs. föderative Mehrrechner-DBS
-
- 3.3 - Mehrrechner-DBS mit funktionaler Spezialisierung
-
- 3.3.1 - Workstation/Server-Datenbanksysteme
-
- 3.3.2 - Datenbankmaschinen
-
- 3.3.3 - Abschließende Bemerkungen
-
- 3.4 - Vergleich und qualitative Bewertung
-
- Teil II - : Verteilte Datenbanksysteme
-
- 4 - Architektur von Verteilten Datenbanksystemen
-
- 4.1 - Transparenzeigenschaften
-
- 4.2 - Schemaarchitektur
-
- 4.3 - Katalogverwaltung
-
- 4.4 - Namensverwaltung
-
- Übungsaufgaben
-
- 5 - Datenbankverteilung
-
- 5.1 - Fragmentierung
-
- 5.2 - Allokation und Replikation
-
- 5.3 - Horizontale Fragmentierung
-
- 5.3.1 - Primäre horizontale Fragmentierung
-
- 5.3.2 - Abgeleitete horizontale Fragmentierung
-
- 5.3.3 - Unterstützung von Parallelverarbeitung
-
- 5.4 - Vertikale Fragmentierung
-
- 5.5 - Hybride Fragmentierung
-
- 5.6 - Fragmentierungstransparenz
-
- 5.7 - Bestimmung der Datenverteilung
-
- 5.7.1 - Festlegung der Fragmentierung
-
- 5.7.2 - Festlegung der Allokation
-
- Übungsaufgaben
-
- 6 - Verteilte Anfragebearbeitung
-
- 6.1 - Überblick
-
- 6.2 - Anfragetransformation
-
- 6.3 - Erzeugung von Fragment-Anfragen
-
- 6.3.1 - Daten-Lokalisierung bei primärer horizontaler Fragmentierung
-
- 6.3.2 - Daten-Lokalisierung bei abgeleiteter horizontaler Fragmentierung
-
- 6.3.3 - Daten-Lokalisierung bei vertikaler Fragmentierung
-
- 6.3.4 - Daten-Lokalisierung bei hybrider Fragmentierung
-
- 6.4 - Globale Query-Optimierung
-
- 6.5 - Bearbeitung von Join-Anfragen
-
- 6.5.1 - Einfache Strategien
-
- 6.5.2 - Semi-Join-Strategien
-
- 6.5.3 - Bitvektor-Join
-
- 6.5.4 - Mehr-Wege-Joins
-
- Übungsaufgaben
-
- 7 - Transaktionsverwaltung in Verteilten Datenbanksystemen
-
- 7.1 - Struktur verteilter Transaktionen
-
- 7.2 - Commit-Behandlung
-
- 7.2.1 - Verteiltes Zwei-Phasen-Commit (Basis-Protokoll)
-
- 7.2.2 - Lineares Zwei-Phasen-Commit
-
- 7.2.3 - Hierarchische 2PC-Protokolle
-
- 7.2.4 - Optimierungen von 2PC-Verfahren
-
- Optimierung lesender Sub-Transaktionen
-
- 1-Phasen-Commit
-
- 7.2.5 - Drei-Phasen-Commit
-
- 7.3 - Integritätssicherung
-
- Übungsaufgaben
-
- 8 - Synchronisation in Verteilten Datenbanksystemen
-
- 8.1 - Sperrverfahren in Verteilten DBS
-
- 8.1.1 - Zentrales Sperrprotokoll
-
- 8.1.2 - Verteilte Sperrverfahren
-
- 8.2 - Zeitmarkenverfahren
-
- 8.3 - Optimistische Synchronisation
-
- 8.3.1 - Validierungsansätze
-
- 8.3.2 - Zentrale Validierung
-
- 8.3.3 - Verteilte Validierung
-
- 8.4 - Mehrversionen-Konzept
-
- 8.5 - Deadlock-Behandlung
-
- 8.5.1 - Deadlock-Verhütung
-
- 8.5.2 - Deadlock-Vermeidung
-
- Wait/Die und Wound/Wait
-
- Dynamische Zeitmarken und Zeitintervalle
-
- 8.5.3 - Timeout-Verfahren
-
- 8.5.4 - Deadlock-Erkennung
-
- Zentrale Deadlock-Erkennung
-
- Verteilte Deadlock-Erkennung
-
- 8.5.5 - Hybride Strategien
-
- 8.6 - Abschließende Bemerkungen
-
- Übungsaufgaben
-
- 9 - Replizierte Datenbanken
-
- 9.1 - Write-All-Ansätze
-
- 9.2 - Primary-Copy-Verfahren
-
- 9.3 - Voting-Verfahren
-
- 9.3.1 - Mehrheits-Votieren (Majority Consensus)
-
- 9.3.2 - Gewichtetes Votieren (Quorum Consensus)
-
- 9.4 - Schnappschuß-Replikation
-
- 9.5 - Katastrophen-Recovery
-
- 9.5.1 - Systemstruktur
-
- 9.5.2 - Commit-Behandlung
-
- 9.6 - Abschließende Bemerkungen
-
- Übungsaufgaben
-
- Teil III - Heterogene Datenbanken
-
- 10 - Autonomie und Heterogenität
-
- 10.1 - Knotenautonomie
-
- 10.2 - Heterogenität
-
- 10.3 - Die Rolle von Standards
-
- 10.4 - Realisierungsansätze
-
- 11 - Verteilte Transaktionssysteme
-
- 11.1 - Transaktionsverarbeitung in Client/Server-Systemen
-
- 11.2 - Alternativen zur verteilten Transaktionsverarbeitung
-
- 11.2.1 - Transaction Routing
-
- 11.2.2 - Programmierte Verteilung (Verteilte Anwendungen)
-
- 11.2.3 - Verteilung von DB-Operationen (Fernzugriff auf Datenbanken)
-
- 11.3 - Realisierungsaspekte
-
- 11.3.1 - Transaktionsverwaltung
-
- 11.3.2 - Kommunikation
-
- 11.3.3 - Datenbank-Gateways
-
- 11.4 - Standardisierungsansätze
-
- 11.4.1 - X/Open Distributed Transaction Processing (DTP)
-
- 11.4.2 - Multivendor Integration Architecture (MIA)
-
- 11.4.3 - Remote Database Access (RDA)
-
- 11.4.4 - SQL Access
-
- 11.4.5 - ODBC und IDAPI
-
- 11.4.6 - IBM Distributed Relational Database Architecture (DRDA)
-
- Übungsaufgaben
-
- 12 - Föderative Datenbanksysteme
-
- 12.1 - Schemaarchitektur
-
- 12.2 - Semantische Heterogenität
-
- 12.3 - Schemaintegration
-
- 12.4 - Einsatz einer Multi-DB-Anfragesprache
-
- 12.5 - Transaktionsverwaltung
-
- Übungsaufgaben
-
- Teil IV - Shared-Disk-Datenbanksysteme
-
- 13 - Architektur von Shared-Disk-DBS
-
- 13.1 - Grobarchitektur lose gekoppelter Shared-Disk-Systeme
-
- 13.2 - Shared-Disk vs. Shared-Nothing
-
- 13.3 - Neue Realisierungsanforderungen
-
- 13.3.1 - Globale Synchronisation
-
- 13.3.2 - Kohärenzkontrolle
-
- 13.3.3 - Lastverteilung
-
- 13.3.4 - Logging und Recovery
-
- 13.4 - Nah gekoppelte Shared-Disk-Systeme
-
- 13.4.1 - Einsatzformen der nahen Kopplung
-
- 13.4.2 - Realisierungsalternativen
-
- 13.4.3 - Nutzung eines Globalen Erweiterten Hauptspeichers
-
- Übungsaufgaben
-
- 14 - Synchronisation in Shared-Disk-DBS
-
- 14.1 - Globale Sperrverwaltung auf dedizierten Rechnern
-
- 14.2 - Techniken zur Einsparung globaler Sperranforderungen
-
- 14.2.1 - Lese- und Schreibautorisierungen
-
- 14.2.2 - Hierarchische Sperren und Autorisierungen
-
- 14.3 - Verteilte Sperrverfahren mit fester GLA-Zuordnung
-
- 14.4 - Verteilte Sperrverfahren mit dynamischer GLA-Zuordnung
-
- 14.5 - Token-Ring-Sperrprotokolle
-
- 14.6 - Optimistische Synchronisation
-
- 14.6.1 - Zentrale Validierung
-
- 14.6.2 - Verteilte Validierung
-
- Übungsaufgaben
-
- 15 - Kohärenzkontrolle
-
- 15.1 - Verfahrensüberblick
-
- 15.1.1 - Behandlung von Pufferinvalidierungen
-
- 15.1.2 - Update-Propagierung
-
- 15.2 - Broadcast-Invalidierung
-
- 15.2.1 - Zusammenwirken mit der Synchronisation
-
- 15.2.2 - Propagierung von Änderungen
-
- 15.3 - On-Request-Invalidierung
-
- 15.3.1 - Versionsnummern und Invalidierungsvektoren
-
- 15.3.2 - Dynamische Page-Owner-Zuordnung
-
- 15.3.3 - Feste Page-Owner-Zuordnung
-
- 15.4 - Einsatz von Haltesperren
-
- 15.5 - Unterstützung von Satzsperren
-
- 15.6 - Zusammenfassende Bewertung
-
- Übungsaufgaben
-
- Teil V - Parallele DB-Verarbeitung
-
- 16 - Einführung in Parallele DBS
-
- 16.1 - Speedup und Scaleup
-
- 16.2 - Architektur von Parallelen DBS
-
- 16.3 - Arten der Parallelverarbeitung
-
- Übungsaufgaben
-
- 17 - Datenverteilung in Parallelen DBS
-
- 17.1 - Bestimmung des Verteilgrades
-
- 17.2 - Fragmentierung
-
- 17.3 - Allokation
-
- 17.4 - Replikation
-
- 17.5 - Datenverteilung bei Shared-Everything und Shared-Disk
-
- Übungsaufgaben
-
- 18 - Parallele Anfragebearbeitung
-
- 18.1 - Allgemeine Vorgehensweise
-
- 18.2 - Parallelisierung unärer relationaler Operatoren
-
- 18.2.1 - Selektion
-
- 18.2.2 - Projektion
-
- 18.2.3 - Aggregatfunktionen
-
- 18.2.4 - Parallele Sortierung
-
- 18.3 - Parallele Joins
-
- 18.3.1 - Join-Berechnung mit dynamischer Replikation
-
- 18.3.2 - Join-Berechnung mit dynamischer Partitionierung
-
- 18.3.3 - Parallele Hash-Joins
-
- 18.3.4 - Mehr-Wege-Joins
-
- 18.4 - Probleme der parallelen DB-Verarbeitung
-
- 18.4.1 - Skew-Behandlung
-
- 18.4.2 - Unterstützung gemischter Arbeitslasten
-
- Übungsaufgaben
-
- Teil VI - Systemüberblicke
-
- 19 - Existierende Mehrrechner-Datenbanksysteme
-
- 19.1 - IBM
-
- 19.1.1 - Bisherige Shared-Disk-Systeme von IBM
-
- 19.1.2 - Parallel Sysplex und Parallel Transaction Server
-
- 19.1.3 - Paralleles DB2
-
- 19.2 - Oracle
-
- 19.2.1 - Verteilte DB-Verarbeitung
-
- 19.2.2 - Oracle Parallel Server
-
- 19.3 - DEC
-
- 19.4 - ASK/Ingres
-
- 19.5 - Informix
-
- 19.6 - Sybase
-
- 19.7 - Tandem
-
- 19.8 - NCR/Teradata
-
- 19.9 - UniSQL
-
- 19.10 - Computer Associates
-
- 19.11 - Cincom
-
- 19.12 - SNI
-
- 19.13 - Abschließende Bemerkungen
-
- Teil VII - Anhang
-
- 20 - Lösungen zu den Übungsaufgaben
-
- 21 - Literatur
-
- Index
-