Anfrageoptimierer in modernen Datenbanksystemen (DBS) verwenden ein Kostenmodell, um für eine Anfrage einen effizienten Zugriffsplan
aus der Menge aller möglichen Zugriffspläne auszuwählen. Die Genauigkeit, mit der diese Kosten geschätzt werden, hängt stark
davon ab, wie genau Statistiken über die Datenverteilung die ihnen zugrunde liegenden Daten modellieren. Veraltete Statistiken,
oder ungültige Annahmen im statistischen Modell, führen häufig zur Auswahl suboptimaler Zugriffspläne und dadurch zu Defiziten
bei der Ausführungsgeschwindigkeit von Datenbankanfragen. Föderierte Systeme müssen auf dem koordinierenden DBS Statistiken
über verteilte Daten unterhalten, um effiziente Zugriffspläne zu entwickeln, wenn Daten aus verschiedenen Datenquellen zusammengeführt
werden. Fehlerhafte Statistiken verursachen in diesem Fall schlechte Lastenverteilung sowie zusätzlichen Kommunikationsaufwand
und Netzlast. Die Synchronisation dieser zusätzlichen Statistiken mit den Statistiken der entfernten Datenquellen ist problematisch,
da Datenquellen völlig unabhängig voneinander sind und ihre Statistiken eventuell nicht externalisieren oder inkompatible
bzw. andere statistische Modelle verwenden als das koordinierende DBS. Im folgenden zeigen wir eine Erweiterung der Feedback-Schleife
von DB2s lernendem Optimierer (LEO) auf föderierte Architekturen, die es LEO ermöglicht, automatisch Statistiken über Daten
auf entfernten Datenquellen zu lernen und zu verwalten. Wir diskutieren mehrere Möglichkeiten, Feedback für föderierte Anfragen
zu erhalten und stellen einen Lösung vor, die lokales Feedback verwendet, und einen Stichprobenprozess (statistical sampling)
zu steuren, der die benötigten entfernten Daten basierend auf dem Feedback effizient ermittelt. Mittels einer detaillierten
Leistungsanalyse der vorgestellten Möglichkeiten im Rahmen einer Fallstudie belegen wir, dass der potenzielle Geschwindigkeitszuwachs
für Datenbankanfragen sehr hoch ist, während die Zusatzbelastung durch LEO in moderaten Grenzen liegt.
Optimizers in modern DBMSs utilize a cost model to choose an efficient query execution plan (QEP) among all possible plans
for a given query. The accuracy of the cost estimates depends heavily on accurate statistics about the underlying data. Outdated
statistics or wrong assumptions in the underlying statistical model frequently lead to suboptimal selection of execution plans
and thus to bad query performance. Federated systems require additional statistics on remote data to be kept on the federated
DBMS in order to choose the most efficient execution plan when joining data from different data sources. Wrong statistics
within a federated DBMS can cause not only suboptimal data access strategies but also unbalanced workload distribution as
well as unnecessarily high network traffic and communication overhead. The maintenance of statistics in a federated DBMS is
troublesome due to the independence of the remote DBMSs that might not expose their statistics or use different models and
not collect all statistics needed by the federated DBMS. We present an approach that extends DB2’s learning optimizer to automatically
find flaws in statistics on remote data by extending its query feedback loop towards the federated architecture. We will discuss
several approaches to get feedback from remote queries and present our solution that utilizes local query feedback and remote
query feedback to retrieve information needed to compute statistics profiles. We provide a detailed performance study and
analysis of our approach, and demonstrate in a case study a potential query execution speedup of orders of magnitude while
only incurring a moderate overhead during query execution.
Schlüsselwörter Anfrageoptimierung - Autonomes Rechnen - Datenbankoptimiererstatistiken - Datenbanksysteme
CR Subject Classification H.2.4,H.2.5,D.3.4