Green Query Optimization using Query Clustering

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

SST - Sequence Search Tree
[01] - ERM Modellierung I Basiselemente von E-R-Diagrammen kennen
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Genetische Algorithmen für die Variogrammanpassung
Bauinformatik II Softwareanwendungen 1
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Kapitel 3: Das Relationenmodell
Anfrage-Optimierung und -Bearbeitung in Verteilten DBMS
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Algorithmentheorie 7 – Bin Packing
SQL als Abfragesprache
Das Relationenmodell 1.
Prof. Dr. T. Kudraß1 Relationen-Algebra. Prof. Dr. T. Kudraß2 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer.
Übung Datenbanksysteme SQL-Anfragen (2)
XML-Algebren Martin Winkler.
Access 2000 Datenbanken.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Inhalt Einführung Problemstellung / Ziele Definitionen
Kürzeste Wege in Straßennetzwerken Problemstellung –von einem Start zu einem Ziel (point-to-point) –(un)gerichteter Graph, Kantenkosten = Reisezeiten.
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
SQL - Ausführungspläne Matthias Jauernig (03INB), Michael Lahl (03IND)
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Datenbanken Mehr als Tabellen.
Effiziente Algorithmen
Datenbanken Mehr als Tabellen. Datenbank Abfragen mit SQL: Eine Tabelle filtern Tabellen realer Datenbanken können sehr viele Informationen speichern:
Die Grundterminologie
EXPLAIN PLAN - Erste Schritte April 2004EXPLAIN PLAN2 Was fehlt noch? Konkretes Beispiel für einen Plan.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #4 Anfragebearbeitung (Teil 2)
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Adaption von K-Means Algorithmen an Datenbanken
SQL Überblick Abfragen aus einer Tabelle
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen.
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
Datenbanksysteme für hörer anderer Fachrichtungen
Freiwillige Feuerwehr der Stadt Perg
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Verdichten von Daten mit Gruppenfunktionen
Datenbanksysteme II Vorlesung WS 2006 / 2007 Paul Manthey
Structured Query Language
Structured Query Language
Eike Schallehn, Martin Endig
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Vorlesung #5 SQL (Teil 2).
Algebraische Optimierung (1)
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
1 Syntaktische Grundform selectA 1, A 2, …, A n fromR 1, R 2, …, R m wherebedingung w ;
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
Vorlesung Datenbanksysteme vom Anfragebearbeitung  Logische Optimierung.
Vorlesung Datenbanksysteme vom : Wiederholung Anfragebearbeitung  Logische Optimierung.
Aufbau semantischer Caches und Anfrageverarbeitung Seminar Semantic Caching 1/12 Kathleen Hänsch
12. November 2001 Seminar Geoinformation Folie 1 Inhalt Einführung Bearbeitung raumbezogener Anfragen Ausblick Seminar Geoinformation Themenblock: „Implementierung.
Datenbanken abfragen mit SQL
Vorlesung #5 SQL (Teil 2).
Vorlesung #6 SQL (Teil 3).
Indexierung Oracle: indexes Indexierung.
Oracle Statistiken im HORIZON-Umfeld
(Structured Query Language)
 Präsentation transkript:

Green Query Optimization using Query Clustering Seminar zu Datenbanksystemen Universität Hannover Sommersemester 2005 Elena Hensinger ehensinger@htp-tel.de 05.07.2005 05.07.2005 Elena Hensinger

Inhaltsverzeichnis Einleitung Idee des Plan Recycling Darstellung von Anfragen Vergleich von Anfragen Gruppierung Plandiagramm PLASTIC Leistungsfähigkeit und Einschränkungen Veränderungen und Ausblick 05.07.2005 Elena Hensinger

Ausführungspläne Optimierung von Ausführungsplänen ist ein recheninten-siver Prozess, insbesondere für sehr große Datenban-ken oder komplexe Anfragen Viele Pläne müssen verglichen werden  Auswahl des besten Planes In der Regel wird für jede Anfrage ein neuer Plan gene-riert Plan mit minimalen Kosten für Anfrage Q Anfrage Q Optimierer DB-Kataloge Kostenmodell 05.07.2005 Elena Hensinger

Plan Recycling ? Oracle Optimierer: „stored outlines“ Speicherung von SQL-Anfragen auf textueller Basis und den dazugehörigen Ausführungs-plänen Wiederbenutzung von Plänen nur möglich, wenn starke textuelle Ähnlichkeit zwischen der gespeicherten und der neuen Anfrage 05.07.2005 Elena Hensinger

Neuer Ansatz Vergleichen von Anfragen nicht auf Grund ihres Textes, sondern auf Grund von für einen Ausführungsplan Ausschlag gebenden Eigenschaften Beobachtung: Anfragen mit unterschiedlichen Selektionen, Projektionen, Joinprädikaten und Tabellen können denselben Operatorbaum haben Je ähnlicher sich zwei Anfragen sind, desto wahrscheinlicher ist es, dass der Optimierer für sie gleiche Ausführungspläne generiert 05.07.2005 Elena Hensinger

Grundsätzlicher Ablauf Alle Anfragen werden auf Grund ihrer Merkmale in Gruppen eingeteilt Jede Gruppe hat einen Repräsentanten, dessen vom Optimierer generierte Ausführungsplanvorlage gespei-chert wird Ist eine neue Anfrage „ähnlich“ mit einem Repräsen-tanten, so wird seine gespeicherte Planvorlage an die neue Anfrage angepasst und benutzt Ist eine neue Anfrage „unähnlich“, so wird wie üblich ein Plan vom Optimierer generiert Vergleich nicht mehr mit n gespeicherten Anfragen, sondern mit k gespeicherten Repräsentanten, wobei k ≤ n. 05.07.2005 Elena Hensinger

Ausführungsplanvorlage Ausführungsplan, bei dem alle Datenbankope-ratoren (z.B. Sortierung und Joins) beibehalten wurden, die bestimmten Werte der Eingaben für diese, wie Tabellennamen und Attributnamen, durch Bindevariablen ersetzt wurden A B A B :1 :2 :1 :2 05.07.2005 Elena Hensinger

Merkmalsvektor Die Hauptfrage: Welche Eigenschaften charakterisieren eine Anfrage und sind gleichzeitig ausschlaggebend für die Auswahl eines Ausführungsplanes? Durch unterschiedliche Arten von Joins (z.B. Nested-Loops, Merge-Join) und ihre Anord-nungsreihenfolgen mit den unterschiedlichen Operationen (Selektion, Projektion und Gruppierung) gibt es viele mögliche Ausfüh-rungspläne 05.07.2005 Elena Hensinger

Merkmalsvektor Die Kosten für die Ausführungspläne hängen von den Eigenschaften der in der Anfrage benutzten Tabellen und der Anfrageprädikate ab Nötig sind also sowohl die für die Anfrage typischen strukturellen Informationen wie z. B. die Anzahl der Tabellen, als auch spezifische Eigenschaften der benutzten Tabellen wie z. B. das Vorhandensein und die Benutzung von Indexen 05.07.2005 Elena Hensinger

Merkmalsvektor Informationen werden direkt aus der Anfrage und den Katalogen des Datanbankmanage-mentsystems gewonnen Solche charakterisierenden Merkmale wurden von Haritsa et al. 2002 vorgestellt Aufteilung in strukturelle und statistische Merkmale 05.07.2005 Elena Hensinger

Strukturelle Eigenschaften (1) werden aus der Anfrage gewonnen Degree of Table (DT): Anzahl der Joinprädikate für eine Tabelle (Prädikate, die sich auf die Spalten der zu joinenden Tabellen beziehen); 1 für einzelne Tabelle, 0 für Tabelle ohne Joinprädikate  Kreuzprodukt Degree-Sequence of a query (DS): Ein Vektor aus den DTs der einzelnen Tabellen Number of join predicates (NJC): Gesamtanzahl der Joinprädikate in der Anfrage 05.07.2005 Elena Hensinger

Strukturelle Eigenschaften (2) Join Predicate Index Counts (JIC): Ein Joinprädikat hat eine „index characteristic“ 0, 1, oder 2, wenn es 0, 1 oder 2 indexierte Teile hat Für jede Anfrage wird die Anzahl der Joinprädikate be-züglich der jeweiligen charakteristischen Werte gezählt A.a B.b {x,y,z} Index Flag of a Table (IF): zeigt an, ob man auf einer Tabelle ausschließlich mit Indexzugriffen arbeiten kann Gdw. für eine Tabelle alle Selektionsprädikate und Pro-jektionsattribute durch den Zugriff auf einen gemeinsa-men Index ausgewertet werden können 05.07.2005 Elena Hensinger

Strukturelle Eigenschaften (3) Nicht immer, wenn in der WHERE-Bedingung auf einem Prädikat ein Index existiert, kann dieser benutzt werden Prädikat muss auch SARGable (Search-ARGument-able) sein Beispiele für SARGable: „=“, „<“ Beispiele für NON-SARGable: „IS NULL“, „<>“, „NOT EXISTS“, „ NOT LIKE“ Predicate Counts of a Table (PC): Zähler für indexierte SARGable- und NON-SARGable-Prädikate Number of Tables (NT): Anzahl der Tabellen in der Anfrage 05.07.2005 Elena Hensinger

Statistische Eigenschaften werden aus den Tabellenstatistiken in dem Systemkata-logen gewonnen: Table Size (TS): die Größe der Tabelle in Tupeln Effective Table Size (ETS): effektive Größe der in ei-nem Join teilnehmenden Tabelle Gewonnen durch Abschätzungen und Statistiken aus den Systemkatalogen und den Einfluss des Herunter-schiebens (”push down“) der Selektionen und Projektionen im Ausführungsplan 05.07.2005 Elena Hensinger

Globale Eigenschaften 1. Beispiel Globale Eigenschaften Select A.a1, B.b1 from A, B where A.a1 = B.b1 and B.b2 < 50; Indexe über A.a1, B.b2 NT 2 DS (1,1) NJP 1 JIC [0,1,2] (0,1,0) PCsarg PCnsarg NT = Anzahl Tabellen DS = Vektor der Grade der Tabellen NJP = Anzahl Joinprädikate JIC = Join index count; wie viele Joinprädikate indexiert PC = Eigenschaften der indexierten Prädikate für Benutzung der Indexe 05.07.2005 Elena Hensinger

Tabelleneigenschaften 1. Beispiel (2) Tabelleneigenschaften Select A.a1, B.b1 from A, B where A.a1 = B.b1 and B.b2 < 50; Indexe über A.a1, B.b2 Selektivität von B.b2<50 : 0,5 Tabelle A Tabelle B 1 DT IF (0,1,0) JIC [0,1,2] PCsarg PCnsarg 2000 TS 4000 ETS DT = Anzahl Joins für Tabelle TS = Größe der Tabelle ETS = Effektive Größe der Tabelle IF = Index Flag; ist Zugriff nur über einen Index möglich? Erzählen, wieso keine Selektivität für Joins. 05.07.2005 Elena Hensinger

SIMCHECK-Algorithmus Eingabe: zwei Anfragen in Form von Merkmalsvektoren Ausgabe: boolscher Wert, ob die Anfragen ähnlich 1.Teil: Merkmalsvektorenvergleich; Aussieben ganz unähnlicher Anfragen 2.Teil: „Mapping tables“, Abbildung von Tabellen der beiden Anfragen aufeinander mit einer Distanzfunktion Bei mehreren Möglichkeiten wird die Abbildung mit der kleinsten Distanz gewählt Wenn Summe aller Distanzen kleiner als voreingestellter Schwellwert ist, dann sind die Anfragen ähnlich 05.07.2005 Elena Hensinger

Pseudocode SIMCHECK-Algorithmus T1,i ist die i-te Tabelle der 1.Anfrage Überarbeiten! 05.07.2005 Elena Hensinger

SIMCHECK-Algorithmus Werte für w1 = 0,7 und w2 = 0,3 Schwellwert = 0,01 Schwellwert bestimmt im weiteren Verlauf die Ausdehnung der Cluster, in die alle ähnliche Anfragen gruppiert werden 05.07.2005 Elena Hensinger

2. Beispiel Select C.c1, D.d1 from C, D where C.c1 = D.d1 and Indexe über C.c1, D.d2 Selektivität D.d2 = 50 : 0,7 Tabelleneigenschaften Tabelle C Tabelle D 1 DT IF (0,1,0) JIC [0,1,2] PCsarg PCnsarg 1500 TS 4000 ETS 2800 NT 2 DS (1,1) NJP 1 JIC [0,1,2] (0,1,0) PCsarg PCnsarg  Globale Eigenschaften 05.07.2005 Elena Hensinger

2. Beispiel Merkmalsvergleich: Anzahl Tabellen (NT), Anzahl der Joinprädikate (NJP), Vektor der Grade der Tabellen (DS) und Anzahl der Tabellen, bei denen man den vorhandenen Index benutzen kann (PC), ist gleich Tabellenabbildung: Aufteilung in Gruppen gleichen Grades 1. Anfrage: Grad 1 {A, B}, 2. Anfrage: Grad 1 {C, D} Keine weiteren Gruppen vorhanden Mögliche Abbildungen: {A,C}, {A, D}, {B, C}, {B, D} 05.07.2005 Elena Hensinger

2. Beispiel distA,C distA,D distB,C distB,D 0,25 0,41 0,475 0,06 |2000| distA,D = 0,7 * |2000-4000| + 0,3 * |2000-2800| |4000| distB,C = 0,7 * |4000-1500| + 0,3 * |2000-1500| distB,D = 0,7 * |4000-4000| + 0,3 * |2000-2800| Mindestdistanzen von 1:1-Abbildungen: {A, C} + {B, D} = 0,25 + 0,06 = 0,31 > 0,01 A B 2000 TS 4000 ETS C D 1500 TS 4000 ETS 2800 distA,C distA,D distB,C distB,D 0,25 0,41 0,475 0,06 A,C und B,D oder A,D und B,C möglich 05.07.2005 Elena Hensinger

3. Beispiel Wann ist das Ergebnis < 0,01? Tabellen A und B unverändert Größe von Tabelle C : 1996 Selektivität von D.d2 = 50 : 0,5265 A B 2000 TS 4000 ETS C D 1996 TS 4000 ETS 2106 distA,C = 0,002 distA,D = 0,358 distB,C = 0,351 distB,D = 0,00795 Möglichkeiten: {A, D} + {B, C} = 0,709 {A, C} + {B, D} = 0,00995 < 0,01 05.07.2005 Elena Hensinger

Clustering Daten / Objekte in Gruppen segmentieren Cluster und Anzahl können vorgegeben sein oder auch nicht Ideal: Starke Ähnlichkeit der Objekte innerhalb eines Clusters, starke Unähnlichkeit zwischen den Objekten in den einzelnen Clustern Anzahl Cluster vorgegeben  partitionierende Verfahren Anzahl nicht vorgegeben  hierarchische Verfahren 05.07.2005 Elena Hensinger

Leader-Algorithmus 1.Objekt wird „Leader“ / „Anführer“ eines Clusters Alle weiteren Objekte werden mit den vorhandenen Leadern durch eine Distanzfunktion verglichen Besteht Ähnlichkeit, dann Einordnung in den Cluster des Leaders mit der kleinsten Distanz zum Objekt Keine Ähnlichkeit  Objekt wird Leader eines neuen Clusters Ende, wenn alle Objekte abgearbeitet sind 05.07.2005 Elena Hensinger

Eigenschaften des Leader-Algorithmus Bildung der Cluster hängt von der Bearbeitungsreihen-folge der Objekte ab Keine Überarbeitung aller Cluster beim Erstellen eines neuen Clusters nötig Laufzeit O(k*n) mit k Clustern und n Anfragen In der Regel k<<n, da jeder Leader u.U. Hunderte von Anfragen vertreten kann Der Leader eines Clusters ist dessen Repräsentant 05.07.2005 Elena Hensinger

TPC-H benchmark “The TPC (Transaction Processing Performance Council) is a non-profit corporation founded to define transaction processing and database benchmarks and to disseminate objective, verifiable TPC performance data to the industry” von http://www.tpc.org 22 businessorientierte ad-hoc Anfragen mit Bindevari-ablen für unterschiedliche Selektivitäten Tabelle Kardinalität Größe in MB PART 200.000 29,8 PARTSUPP 800.000 124,7 CUSTOMER 150.000 26,6 SUPPLIER 10.000 1,7 LINEITEM 4.859.686 658,6 NATION 25 2*10-3 REGION 5 4*10-4 05.07.2005 Elena Hensinger

Beispielanfrage Original: mit Unteranfrage und „order by“ Kontostand (acctbal), Name (s_name), Land (n_name), Nummer (p_partkey) und Hersteller (p_mfgr) des Artikels, Adresse (address), Telefonnum-mer (phone) und Bemerkung (comment) aller Lieferanten aus einer bestimmten Region (r_name), die Artikel von einer bestimmten Größe (size) und Typ (type) zu einem bestimmten Preis (supplycost) liefern können 05.07.2005 Elena Hensinger

Plandiagramm Veränderung der Selektivitäten der Tabellen PART und PARTSUPP durch Bindervariablen :1, :2 und :4  Übersicht über die Ausführungspläne = Plandiagramm Achsen repräsentieren die Selektivitäten 12 verschiedene Pläne Plan 1 und 2 decken den meisten Raum ab 05.07.2005 Elena Hensinger

Regionen High-volatility-Regionen: sich oft verändernde Ausfüh-rungspläne Typischerweise in stark selektiven Bereichen Low-volatility-Regionen: wenig Veränderung der Pläne 05.07.2005 Elena Hensinger

Clusterabdeckung Bildhafte Abdeckung durch Cluster gleicher Größe Viele überflüssige Cluster mit gleichen Plänen in den low-volatility-Regionen unterbesetzte Cluster bzw. mit mehreren Plänen in den high-volatility-Regionen 05.07.2005 Elena Hensinger

Variable Clustergrößen Viele kleinere Cluster in Regionen mit sich oft verändernden Plänen Wenige große Cluster in Regionen mit wenig Änderung Fehlerreduzierung um ca. 50 Prozent Bild aus Jahr 2004 mit verbesserter Distanzfunktion  Vierecke; 05.07.2005 Elena Hensinger

Klassifizierung zu Clustern Klassifizierung möglich durch Leader-Algorithmus ABER: Vergleich mit allen Repräsentanten  kann zu lange dauern Schnellere Variante: Entscheidungsbaum Kann nach einer bestimmten Anzahl vorhandener Cluster erstellt werden Knoten = Kriterien für Gruppierung Kanten = Werte der Kriterien 05.07.2005 Elena Hensinger

PLASTIC (PLAn Selection Through Incremental Clustering) Tool zur Erweiterung von Optimierern Nicht passend Optimierer Planvorlagen- Generator System- kataloge Datenbank der Anfragecluster Datenbank der Planvorlagen Merkmalsvektor Klassifizierung Anfrage Durchgezogene Linien: passende Planvorlage vorhanden; gestrichelte Linien: keine passende Planvorlage vorhanden Extrahierung des Merkmalsvektors Merkmalsvektor Plangenerator Vergleich Plan passend 05.07.2005 Elena Hensinger

Ablauf Umwandlung einer Anfrage in einen Merkmalsvektor Vergleich mit den vorhandenen Repräsentanten Falls Ähnlichkeit zu einem gegeben (durchgezogene Linien), dann wird dessen Ausführungsplanvorlage an die Anfrage angepasst und dieser Plan zur Ausführung benutzt Falls keine Ähnlichkeit (gestrichelte Linien), wird der Merkmalsvektor als der Leader eines neuen Clusters gespeichert, der Ausführungsplan wie gewohnt vom Optimierer generiert, gleichzeitig auch in eine Planvor-lage umgewandelt und gespeichert 05.07.2005 Elena Hensinger

Tests Annahme, dass Testsystem stabil und Beschränkung auf Selection-Projection-Join (SPJ) – Anfragen Tests sowohl zum „Intra-query Plan-Sharing“, also wenn nur die Selektivitäten verändert werden, als auch zum „Inter-query Plan Sharing“, mit veränderten Projektionen, Selektionsprädikaten, Joinprädikaten und sogar unterschiedlichen Tabellen Für die Anfrage Q2 aus TPC-H wurden 65 Cluster gebildet Bei SPJ kann man die Join-Operatoren linear anordnen. Wieso SPJ? Einfacher, keine Gruppierungen und Aggregierungen. 05.07.2005 Elena Hensinger

Testresultate P-DB2 ist die um PLASTIC erweiterte DB2 Metrik DB2 P-DB2 Leader Entscheidungsbaum Exaktheit 100% 90,76% 88,8% Effizienz 0,1 s 4*10-3 s 2,5*10-4 s average case worst case Speicherplatz - 1,97 KB 3,96 KB P-DB2 ist die um PLASTIC erweiterte DB2 Klassifizierung entweder mit dem Leader-Algorithmus oder einem Entscheidungsbaum Exaktheit ist die Anzahl der Fälle, in denen derselbe Plan wie der des Optimierers gewählt wurde Effizienz ist die Zeit zur Klassifizierung und Ausgabe des Planes Worst case, wenn Leader alle Cluster durchsuchen muss 05.07.2005 Elena Hensinger

Testresultate Eindeutiger Gewinn in der Schnelligkeit der Plangene-rierung Erhöhung der Kosten bei einer Fehlentscheidung ≤ 2%, da in einem solchen Fall meistens der zweitbeste Plan gewählt wird Möglichkeit für den Optimierer, immer im besten (und rechenaufwändigsten) Modus zu arbeiten, da die Rech-enkosten sich auf alle Anfragen, die von den Clustern profitieren, aufteilen Modi bei DB2 gegeben. 05.07.2005 Elena Hensinger

Wann Fehlentscheidungen? Wenn ein Cluster im Merkmalsraum mehr als einen Plan im Planraum abdeckt Hängt von der Ausdehnung der Cluster ab = Schwell-wert der Distanzfunktion Schlechtester Fall: Ansiedlung eines Cluster Repräsentanten am Rande eines Planes Schwellwert klein  mehr Cluster, exaktere Zuordnung Nachteil: Zeit für Klassifizierung stiegt mit Clusteranzahl Es wird immer der Plan des Repräsentanten genommen! Wahrscheinlichkeit für Fehlentscheidung steigt mit der Differenz der Effektiven Größen der Tabellen der Anfragen und des Repräsentanten 05.07.2005 Elena Hensinger

Weiterentwicklung seit 2002 Merkmalsvektor geändert, PCsarg und PCnsarg entfernt, dafür andere Merkmale neu hinzugefügt (z.B. Indextyp) Distanzfunktion verändert, da neue Erkenntnisse, wie sich die Tabellengröße und die effektive Größe auf Planzuordnung auswirken Einbau mehrerer Module zur Plananalyse, automatische Berechnung der Schwellwerte zur Anpassung der Größe der Cluster, u.a. Masterarbeiten in 2003 und 2004 Veröffentlichungen u.a. auch auf der VLDB (Very Large Data Base Conference) im Herbst 2005 Zukunft: Ausweitung auf Anfragen mit Gruppierungen, Aggregierungen und verschachtelten Anfragen 05.07.2005 Elena Hensinger

Screenshots (1) 05.07.2005 Elena Hensinger

Screenshots (2) 05.07.2005 Elena Hensinger

Vielen Dank für die Aufmerksamkeit! Fragen? 05.07.2005 Elena Hensinger