Willkommen, schön sind Sie da!
Logo Ex Libris

Wartungsarbeiten Musik Downloads (MP3) Weitere Informationen

Aufgrund von Wartungsarbeiten ist unser Musik Download Angebot von 12:00 - 14:00 Uhr nicht verfügbar. Besten Dank für Ihr Verständnis.

schliessen

SQL-Anfragen

  • Kartonierter Einband
  • 260 Seiten
(0) Erste Bewertung abgeben
Bewertungen
(0)
(0)
(0)
(0)
(0)
Alle Bewertungen ansehen
Immer komplexere Anwendungen stellen steigende Leistungsanforderungen an relationale Datenbanksysteme. Um diese zu erfüllen, ist e... Weiterlesen
20%
75.00 CHF 60.00
Auslieferung erfolgt in der Regel innert 2 bis 4 Werktagen.
Bestellung & Lieferung in eine Filiale möglich

Beschreibung

Immer komplexere Anwendungen stellen steigende Leistungsanforderungen an relationale Datenbanksysteme. Um diese zu erfüllen, ist eine Parallelisierung der Anfragebearbeitung erforderlich. Als Beitrag hierzu wird ein Verfahren zur ]bersetzung von Anwenderanfragen, die in der Standard-Sprache SQL formuliert sind, in effiziente parallele Bearbeitungspläne vorgestellt. Dabei wird die Technik der regelbasierten Optimierung zugrundegelegt. Von generellem Nutzen für die korrekte und effiziente Bearbeitung von SQL-Anfragen ist die Integration bekannter Optimierungstechniken auf der Basis einer erweiterten relationalen Algebra. Mit einer systematischen und kompaktenBeschreibung paralleler Bearbeitungspläne wird darüber hinaus ein Beitrag zum Verständnis der Parallelisierbarkeit komplexer relationaler Anfragen geleistet.

Klappentext

Immer komplexere Anwendungen stellen steigendeLeistungsanforderungen an relationale Datenbanksysteme. Umdiese zu erf}llen, ist eine Parallelisierung derAnfragebearbeitung erforderlich. Als Beitrag hierzu wird einVerfahren zur ]bersetzung von Anwenderanfragen, die in derStandard-Sprache SQL formuliert sind, in effizienteparallele Bearbeitungspl{ne vorgestellt. Dabei wird dieTechnik der regelbasierten Optimierung zugrundegelegt. Vongenerellem Nutzen f}r die korrekte und effizienteBearbeitung von SQL-Anfragen ist die Integration bekannterOptimierungstechniken auf der Basis einer erweitertenrelationalen Algebra. Mit einer systematischen undkompaktenBeschreibung paralleler Bearbeitungspl{ne wirddar}ber hinaus ein Beitrag zum Verst{ndnis derParallelisierbarkeit komplexer relationaler Anfragengeleistet.



Inhalt

1 Einleitung.- 1.1 Einführung des Optimierungsproblems.- 1.1.1 Anfragen.- 1.1.2 Parallele Anfragebearbeitung.- 1.1.3 Optimierungsziel.- 1.2 Techniken der Anfrageoptimierung.- 1.2.1 Komplexitätsaspekte.- 1.2.2 Regelbasierte Optimierung.- 1.2.3 Anfragedarstellung.- 1.2.4 Transformationsregeln.- 1.2.5 Suchraum und Suchstrategie.- 1.2.6 Kostenbewertung.- 1.3 Kernprobleme der Arbeit.- 1.4 Vorgehensweise.- 1.5 Abgrenzung gegenüber anderen Problemstellungen.- 2 Grundlagen und Literaturüberblick.- 2.1 Relationale Anfragesprachen.- 2.1.1 Relationales Datenmodell.- 2.1.2 Relationale Algebra.- 2.1.3 Relationaler Kalkül.- 2.1.4 Erweiterung um Aggregatfunktionen.- 2.1.5 SQL.- 2.2 Parallele Anfragebearbeitung.- 2.2.1 Klassifikation von Systemumgebungen.- 2.2.2 Datenverteilung.- 2.2.3 Bearbeitungsmethoden.- 2.2.3.1 Zugriff auf eine Basisrelation.- 2.2.3.2 Verbund zweier Relationen (Join).- 2.2.3.3 Zusammenfassung.- 2.2.4 Bearbeitungsplan.- 2.2.4.1 Datenflußprogramm.- 2.2.4.2 Parallelisierung.- 2.2.4.3 Zuordnungsentscheidungen.- 2.3 Anfragetransformation.- 2.3.1 Transformation in der Algebra.- 2.3.2 Transformation im Kalkül.- 2.3.3 Transformation vom Kalkül in die Algebra.- 2.3.4 Transformation und Übersetzung von SQL-Anfragen.- 2.4 Parallelisierung.- 2.4.1 Ansätze zur Parallelisierung während der Optimierung.- 2.4.2 Theorie der Ablaufplanung.- 2.4.2.1 Problemstellung.- 2.4.2.2 Konstruktion von Ablaufplänen minimaler Länge.- 3 Grundkonzept des Optimierers.- 3.1 Lösungsansatz.- 3.1.1 Regelbasierte Optimierung.- 3.1.2 Anforderungen an Anfragerepräsentation und Transformationsregeln.- 3.1.3 Konkretisierung der Vorgehensweise.- 3.1.4 Präzisierung der Optimierungsphasen.- 3.2 Anfragerepräsentation.- 3.2.1 Funktionale Darstellungsform.- 3.2.2 Erweiterte relationale Algebra.- 3.2.3 Bearbeitungspläne.- 3.3 Anfragetransformation und Generierung algebraischer Ausdrücke.- 3.4 Generierung paralleler Bearbeitungspläne.- 3.4.1 Transformationsregeln.- 3.4.2 Parallefisierungsstrategien.- 4 Erweiterte relationale Algebra und SQL.- 4.1 Spezifikation der erweiterten relationalen Algebra.- 4.1.1 Definition der Werte und Typen.- 4.1.2 Definition der Grundfunktionen.- 4.1.2.1 Komposition von Funktionen.- 4.1.2.2 Funktionen auf atomaren Datentypen.- 4.1.2.3 Tupelfunktionen.- 4.1.2.4 Mengenfunktionen.- 4.1.3 Relationale Operatoren.- 4.1.4 Ausdrücke.- 4.1.5 Weitere Schreibweisen.- 4.1.5.1 Kompakte Darstellung von Tupelkonstruktoren.- 4.1.5.2 Kompakte Darstellung von Prädikaten.- 4.1.5.3 Ableitbare relationale Operatoren.- 4.1.6 Einordnung der bisherigen Darstellungsformen.- 4.2 Die Anfragesprache SQL.- 4.2.1 Datenmodell.- 4.2.2 Syntax.- 4.2.3 Semantik: Übersetzung in die erweiterte relationale Algebra.- 4.2.3.1 Terme.- 4.2.3.2 Prädikate.- 4.2.3.3 Anfragen.- 4.2.3.4 Unteranfragen.- 4.3 Beispiele für die Übersetzung von SQL-Anfragen.- 5 Grundlagen der Anfragetransformation.- 5.1 Überblick.- 5.2 Prädikat-Transformation.- 5.3 Gruppierende Abbildungen.- 5.3.1 Definition.- 5.3.2 Konstruktion.- 5.4 Ersetzung nicht geschlossener Ausdrücke.- 5.4.1 Korrekte Ersetzung.- 5.4.2 Verlustfreie Ersetzung.- 5.4.3 Auflösung von Unteranfrage-Prädikaten.- 5.4.3.1 Korrekte Auflösung einer Selektion.- 5.4.3.2 Verbesserungsmöglichkeiten.- 5.4.3.3 Korrekte Auflösung einer Outer-Selektion.- 5.5 Algebraische Transformationsregeln.- 5.5.1 Distributiv- und Kommutativgesetze.- 5.5.2 Einsparung von Joins.- 5.6 Zusammenfassung.- 6 Anfragetransformation und Generierung algebraischer Ausdrücke.- 6.1 Überblick.- 6.2 Standardisierung.- 6.2.1 Prädikat-Transformation.- 6.2.2 Auflösung von Existenzquantoren.- 6.2.3 Auflösung von Allquantoren.- 6.2.4 Auflösung von Aggregatfunktionen.- 6.2.5 Ergebnis der Standardisierung.- 6.3 Verbesserung algebraischer Ausdrücke.- 6.3.1 Durchschieben der Projektion.- 6.3.2 Einsparung von Joins.- 6.4 Beispiele für Standardisierung und Verbesserung.- 6.5 Aufzählung algebraischer Ausdrücke.- 6.5.1 Zielsetzung.- 6.5.2 Plazierung und Integration von Auflösungen.- 6.5.3 Join-Reihenfolge.- 6.5.4 Ergebnis der Aufzählung.- 7 Implementierung relationaler Operatoren.- 7.1 Grundlagen.- 7.1.1 Tupellisten.- 7.1.2 Korrekte Implementierung relationaler Operatoren.- 7.1.3 Eigenschaften von Tupellisten.- 7.2 Zugriffspfade.- 7.2.1 Zugriff auf Basisrelationen.- 7.2.1.1 Physisches Datenbankschema.- 7.2.1.2 Sequentieller Zugriff.- 7.2.1.3 Selektiver Zugriff.- 7.2.2 Zugriff auf Tupellisten.- 7.2.3 Zugriff auf atomare Werte und Tupel.- 7.3 Sequentielle Bearbeitung relationaler Operatoren.- 7.3.1 Konkatenation.- 7.3.2 Filterung.- 7.3.3 Join.- 7.3.4 Aggregierung.- 7.3.5 Division.- 7.3.6 Ergebnisbildung.- 7.3.7 Beispiel für eine sequentielle Implementierung.- 7.4 Einsatz von Indizes.- 7.5 Ausnutzung einer Sortierung.- 7.5.1 Merge-Join.- 7.5.2 Aggregierung.- 7.5.3 Beispiel für die Ausnutzung einer Sortierung.- 7.6 Verwendung von Hashing.- 7.6.1 Hashing-Join.- 7.6.2 Aggregierung.- 7.6.3 Beispiel für den Einsatz von Hashing.- 7.7 Zerlegung von Operationen in Phasen.- 7.8 Zusammenfassung.- 8 Grundlagen der Parallelisierung.- 8.1 Überblick.- 8.2 Datenflußprogramm.- 8.2.1 Struktur.- 8.2.2 Konstruktion.- 8.3 Meta-Datenflußprogramm.- 8.3.1 Struktur.- 8.3.2 Konstruktion des Meta-Datenflußprogramms: Node Splitting.- 8.3.2.1 Zugriff auf eine Basisrelation.- 8.3.2.2 Filterung.- 8.3.2.3 Existenzquantor.- 8.3.2.4 Join und Semijoin.- 8.3.2.5 Merge-Join.- 8.3.2.6 Aggregierung.- 8.3.3 Konstruktion des Meta-Datenflußprogramms: Pipelining.- 8.3.4 Beispiel für die Konstruktion eines Meta-Datenflußprogramms.- 8.4 Transformationen auf dem Meta-Datenflußprogramm.- 8.4.1 Node Splitting.- 8.4.2 Pipelining.- 8.4.3 Beispiel für den Einsatz von Node Splitting und Pipelining.- 8.5 Abbildung des Meta-Datenflußprogramms auf ein Datenflußprogramm.- 8.5.1 Generierung der Teilknoten.- 8.5.2 Vorliegende Zerlegung der Operanden.- 8.5.3 Partitionierung und Anpassung des Operandenzugriffs.- 8.5.4 Beispiel für die Abbildung auf ein Datenflußprogramm.- 8.5.5 Einsparung überflüssiger Knoten.- 8.6 Generierung eines parallelen Bearbeitungsplans.- 8.7 Zusammenfassung.- 9 Kostenmodell.- 9.1 Zielsetzung und Vorgehensweise.- 9.2 Kostenarten.- 9.3 Kostenanteile.- 9.4 Kostenfaktoren.- 9.5 Kostenfunktionen.- 9.5.1 Kosten der Zugriffsoperationen.- 9.5.2 Kosten der Bearbeitungsoperationen.- 9.5.3 Kosten der Ergebnisübermittlung.- 9.6 Bewertung eines parallelen Bearbeitungsplans.- 9.6.1 Definition und Kennzahlen eines Parallelitätsprofils.- 9.6.2 Konstruktion eines Parallelitätsprofils.- 9.6.3 Bestimmung der Bearbeitungskosten und der Bearbeitungszeit.- 9.7 Bewertung eines Meta-Datenflußprogramms.- 9.7.1 Ausgangspunkt.- 9.7.2 Kosten der Teilknoten eines Metaknotens.- 9.7.3 Initiale Verteilung von Teilknoten auf Prozessoren.- 9.7.4 Konstruktion von Pipeboxen.- 9.7.5 Zusammensetzen der Pipeboxen zu einem Parallelitätsprofil.- 9.7.6 Bestimmung der Bearbeitungskosten und der Bearbeitungszeit.- 9.7.7 Neubewertung nach einem Parallelisierungsschritt.- 9.7.8 Beispiel für die Bewertung anhand des Parallelitätsprofils.- 10 Parallelisierungsstrategien.- 10.1 Aufgaben einer Parallelisierungsstrategie.- 10.2 Heuristiken zur Erzeugung eines Meta-Datenflußprogramms.- 10.2.1 Konstruktion des Meta-Datenflußprogramms.- 10.2.1.1 Auswahl des Parallelisierungsschemas beim Join.- 10.2.1.2 Auswahl des Parallelisierungsschemas bei der Aggregierung.- 10.2.1.3 Beispiel.- 10.2.2 Phasenzerlegung: Vermeidung von Hauptspeicherüberlauf.- 10.2.3 Node Splitting und Pipelining zur Vermeidung von Auslagerungen.- 10.2.4 Kopplung der Parallelisierung aufeinanderfolgender Knoten.- 10.3 Heuristiken auf der Basis des Parallelitätsprofils.- 10.3.1 Betrachtung zeitkritischer Meta-Pipes.- 10.3.2 Auswahl von Meta-Pipes für den Einsatz von Node Splitting.- 10.3.3 Parallelisierung einer Meta-Pipe durch Node Splitting.- 10.3.4 Auswahl von Meta-Pipes für den Einsatz von Pipelining.- 10.4 Heuristiken für die Zuordnung.- 10.5 Zusammenfassung.- 11 Zusammenfassung und Ausblick.- 11.1 Hauptergebnisse der Arbeit.- 11.2 Weiterführende Arbeiten.

Produktinformationen

Titel: SQL-Anfragen
Untertitel: Optimierung für parallele Bearbeitung
Autor:
EAN: 9783540542520
ISBN: 978-3-540-54252-0
Format: Kartonierter Einband
Herausgeber: Springer Berlin Heidelberg
Genre: Betriebssysteme
Anzahl Seiten: 260
Gewicht: 413g
Größe: H235mm x B153mm x T20mm
Jahr: 1992