In modernen relationalen Datenbanken spielt die Kardinalitätsschätzung (CE) eine entscheidende Rolle. Vereinfacht gesagt, prognostiziert die Kardinalitätsschätzung, wie viele Zwischenergebnisse eine Datenbankabfrage liefern wird. Diese Prognose hat einen erheblichen Einfluss auf die Planauswahl des Abfrageoptimierers, z. B. bei der Entscheidung über die Verbindungsreihenfolge, die Verwendung von Indizes und die Auswahl der optimalen Verbindungsmethode. Ist die Kardinalitätsschätzung ungenau, kann der Ausführungsplan stark beeinträchtigt werden, was zu extrem langsamen Abfragen und einer erheblichen Beeinträchtigung der Gesamtleistung der Datenbank führt.

Bestehende Kardinalitätsschätzungsmethoden weisen jedoch zahlreiche Einschränkungen auf. Traditionelle CE-Techniken beruhen auf vereinfachenden Annahmen und können die Kardinalität komplexer Abfragen, insbesondere solcher mit mehreren Tabellen und Bedingungen, oft nicht präzise vorhersagen. Obwohl lernbasierte CE-Modelle eine höhere Genauigkeit bieten können, ist ihre Anwendung durch lange Trainingszeiten, den Bedarf an großen Datensätzen und das Fehlen systematischer Benchmark-Bewertungen eingeschränkt.

Um diese Lücke zu schließen, hat das Google-Forschungsteam CardBench vorgestellt, ein völlig neues Benchmark-Framework. CardBench umfasst über 20 reale Datenbanken und Tausende von Abfragen, deutlich mehr als bisherige Benchmarks. Dies ermöglicht es Forschern, verschiedene lernbasierte CE-Modelle unter verschiedenen Bedingungen systematisch zu bewerten und zu vergleichen. Der Benchmark unterstützt drei Hauptkonfigurationen: instanzbasierte Modelle, Zero-Shot-Modelle und Fine-Tuning-Modelle, die für unterschiedliche Trainingsanforderungen geeignet sind.

CardBench umfasst auch eine Reihe von Tools zur Berechnung der notwendigen Datenstatistiken, zur Generierung realer SQL-Abfragen und zur Erstellung annotierter Abfragegraphen zum Trainieren von CE-Modellen.

Der Benchmark bietet zwei Training-Datensätze: einen für Single-Table-Abfragen mit mehreren Filterbedingungen und einen für binäre Join-Abfragen mit zwei Tabellen. Der Benchmark umfasst 9125 Single-Table-Abfragen und 8454 binäre Join-Abfragen, die für einen der kleineren Datensätze verwendet werden können, um eine robuste und herausfordernde Umgebung für die Modellbewertung zu gewährleisten. Die Beschriftung der Trainingsdaten aus Google BigQuery erforderte 7 CPU-Jahre an Abfragezeit, was die erheblichen Rechenressourcen verdeutlicht, die in die Erstellung dieses Benchmarks investiert wurden. Durch die Bereitstellung dieser Datensätze und Tools senkt CardBench die Einstiegshürde für Forscher, die neue CE-Modelle entwickeln und testen wollen.

image.png

Bei der Leistungsbewertung mit CardBench zeigten sich Fine-Tuning-Modelle als besonders leistungsstark. Während Zero-Shot-Modelle Schwierigkeiten haben, ihre Genauigkeit auf nicht gesehenen Datensätzen zu verbessern, insbesondere bei komplexen Abfragen mit Joins, erreichen Fine-Tuning-Modelle eine vergleichbare Genauigkeit wie instanzbasierte Methoden, benötigen aber deutlich weniger Trainingsdaten. Beispielsweise erreichte ein feinabgestimmtes Graph Neural Network (GNN)-Modell bei binären Join-Abfragen einen medianen q-Fehler von 1,32 und einen q-Fehler im 95. Perzentil von 120, deutlich besser als Zero-Shot-Modelle. Die Ergebnisse zeigen, dass selbst mit 500 Abfragen das Fine-Tuning von vortrainierten Modellen deren Leistung deutlich verbessern kann. Dies macht sie für praktische Anwendungen geeignet, bei denen die Trainingsdaten möglicherweise begrenzt sind.

image.png

Die Einführung von CardBench bietet neue Hoffnung für das Feld der lernbasierten Kardinalitätsschätzung, da Forscher Modelle effizienter bewerten und verbessern können, was die Weiterentwicklung dieses wichtigen Bereichs vorantreibt.

论文入口:https://arxiv.org/abs/2408.16170

Wichtigste Punkte:

- 📊 CardBench ist ein neues Benchmark-Framework mit 20 realen Datenbanken und Tausenden von Abfragen, das eine systematische Bewertung von lernbasierten Kardinalitätsschätzungsmodellen ermöglicht.

- 🛠️ Der Benchmark bietet Tools zur Berechnung von Datenstatistiken, zur Generierung von SQL-Abfragen und zur Erstellung von Abfragegraphen, wodurch die Entwicklungsschwelle für Forscher gesenkt wird.

- 🚀 Fine-Tuning-Modelle zeigen bei der Leistungsbewertung hervorragende Ergebnisse und erreichen mit wenigen Trainingsdaten eine ähnliche Genauigkeit wie traditionelle Modelle, was ihr Potenzial für praktische Anwendungen unterstreicht.