Download Informationssystem-Entwicklung
Transcript
166 Kriterium Leistungsfähigkeit B. Thalheim Preprint BTU-Informatik-I-15-2003 Shared-nothing - statische Datenpartitionierung bestimmt Ausführungsort von DB-Operationen - geringe Möglichkeiten zur Lastbalancierung oder Einsparung von Kommunikationsvorgängen - besonders problematisch: ‘dominierende’ Transaktionstypen und DB-Bereiche Erweiterbarkeit Verfügbarkeit Technische Probleme - neuer Rechner erfordert physische Neuaufteilung der Datenbank (N → N+1) - besonders problematisch für nichtrelationale DBS - Partition eines ausgefallenen Rechners zunächst nicht mehr erreichbar - Übernahme/Recovery der betroffenen Partition durch anderen Rechner vorzusehen (ggf. Überlastungsgefahr) - ortsverteilte Replikation ermöglicht schnelle Katastrophen-Recovery - Bestimmung der physischen DBPartitionierung - verteilte Anfrageverarbeitung - parallele Anfrageverarbeitung - Behandlung replizierter Datenbanken - verteiltes Commit-Protokoll - globale Deadlock-Behandlung - Lastverteilung, -balancierung - Administration - besondere Probleme in ortsverteilten Systemen (Netzwerkpartitionierungen, Knotenautonomie, ...) Kapitel 8. Verteilung Shared-disk - lokale Erreichbarkeit aller Daten wodurch größere Möglichkeiten zur Lastbalancierung entstehen - Kommunikation für Synchronisation und Kohärenzkontrolle - nahe Kopplung kann zur Leistungssteigerung eingesetzt werden; trotzdem höhere Flexibilität zur Parallelisierung - keine physische (Neu-)Aufteilung der DB - direkte Plattenanbindung kann Rechneranzahl begrenzen (‘nachrichtenbasierte’ I/OSchnittstelle) - gesamte DB bleibt nach Rechnerausfall erreichbar - komplexe Crash-Recovery - Erstellung einer globalen Log-Datei - Synchronisation - globale Deadlock-Behandlung Kohärenzkontrolle Logging Recovery Lastverteilung, -balancierung parallele Anfrageverarbeitung Administration Oft wird eine vollständige Integration von verteilten Systemen angestrebt. Da das Integrationsproblem algorithmisch unentscheidbar ist, kann kein Integrationsalgorithmus existieren. Integrierte Systeme haben ein gemeinsames konzeptionelles DB-Schema. Der DB-Zugriff erfolgt wie im zentralen Fall, womit auch Verteilungstransparenz gewährleistet ist. Damit besitzen die beteiligten DBMS eine eingeschränkte Autonomie. Die einfachste Verwirklichung geht von identischen DBS-Instanzen aus, wodurch ein homogenes verteiltes System entsteht. Beispiele solcher Systeme sind verteilte DBS und Shared-disk-DBS. Andererseits ist eine vollständige Integration auch nicht das Ziel. Meist ist eine Föderation oder eine Kooperation von Systemen ausreichend. Damit können auch weitgehend unabhängige DBMS mit privaten konzeptionellen DB-Schemata verwaltet werden. Es wird eine partielle Exportierung von Schemainformationen für externe Zugriffe modelliert. Eine Heterogenität ist sowohl bei Datenmodellen als auch bei der Transaktionsverwaltung möglich. Damit entstehen allerdings Probleme mit der semantischen Heterogenität. Eine Verteilungstransparenz ist i. Allg. nur bedingt erreichbar. Die Prozessorfunktionalität gestattet eine weitere Unterscheidung verteilter und MehrrechnerDBS: Funktionale Gleichstellung: Jeder Knoten besitzt die gleiche Funktionalität bzgl. DB-Verarbeitung. I. Allg. werden vollständige DBMS in jedem Knoten verwendet. Die Funktionen werden repliziert. Funktionale Spezialisierung: Die Funktionen werden partitioniert, separiert oder auch spezialisiert. Typische Beispiele sind DB-Maschinen mit Spezialprozessoren für bestimmte DB-Funktionen z. B.