nachricht

google ai führt cardbench-bewertungsframework ein: einschließlich 20 realer datenbanken zur umfassenderen bewertung von modellen zur kardinalitätsschätzung

2024-09-03

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

it house berichtete am 3. september, dass google-ki-forscher kürzlich den cardbench-benchmark eingeführt haben, der hauptsächlich die anforderungen des systembewertungsrahmens für das erlernen der kardinalitätsschätzung erfüllt.

der cardbench-benchmark ist ein umfassender bewertungsrahmen, der tausende von abfragen in 20 verschiedenen realen datenbanken umfasst und damit alle bisherigen benchmarks deutlich übertrifft.

projekthintergrund

die kardinalitätsschätzung (ce) ist der schlüssel zur optimierung der abfrageleistung relationaler datenbanken. sie beinhaltet die vorhersage der anzahl der zwischenergebnisse, die eine datenbankabfrage zurückgeben wird, was sich direkt auf die wahl des ausführungsplans durch den abfrageoptimierer auswirkt.

genaue immersionsschätzungen sind entscheidend für die auswahl effizienter join-reihenfolgen, die entscheidung über die verwendung von indizes und die auswahl der besten join-methode.

diese entscheidungen können erhebliche auswirkungen auf die ausführungszeit von abfragen und die gesamtleistung der datenbank haben. ungenaue schätzungen können zu schlechten ausführungsplänen führen, die die leistung erheblich beeinträchtigen, manchmal um größenordnungen.

techniken zur kardinalitätsschätzung, die in modernen datenbanksystemen weit verbreitet sind, basieren auf heuristischen methoden und vereinfachten modellen, beispielsweise der annahme von dateneinheitlichkeit und spaltenunabhängigkeit.

obwohl diese methoden recheneffizient sind, erfordern sie häufig eine genaue vorhersage der kardinalität, insbesondere bei komplexen abfragen mit mehreren tabellen und filtern.

die neuesten datengesteuerten methoden versuchen, die verteilung von daten innerhalb und zwischen tabellen zu modellieren, ohne abfragen auszuführen, wodurch der overhead etwas reduziert wird, aber dennoch eine neuschulung erforderlich ist, wenn sich die daten ändern.

trotz dieser fortschritte macht es das fehlen umfassender benchmarks schwierig, verschiedene modelle zu vergleichen und ihre generalisierbarkeit auf verschiedene datensätze zu beurteilen.

kartenbench

cardbench ermöglicht eine umfassendere bewertung erlernter kardinalitätsmodelle unter verschiedenen bedingungen. der benchmark unterstützt drei wichtige einstellungen:

instanzbasierte modelle, d. h. trainiert auf einem einzelnen datensatz;

das nullpunktmodell wird anhand mehrerer datensätze vorab trainiert und dann anhand eines unsichtbaren datensatzes getestet.

optimieren sie das modell, indem sie es vorab trainieren und es dann mithilfe einer kleinen datenmenge aus dem zieldatensatz optimieren.

der benchmark stellt zwei sätze von trainingsdaten bereit: einen für eine einzelne tabellenabfrage mit mehreren filterprädikaten und einen für eine binäre join-abfrage mit zwei tabellen.

der benchmark umfasst 9125 einzeltabellenabfragen und 8454 binär-join-abfragen für einen der kleineren datensätze und gewährleistet so eine robuste und anspruchsvolle umgebung für die modellbewertung.

beispielsweise hat das fein abgestimmte graph neural network (gnn)-modell einen mittleren q-fehler von 1,32 und ein 95. perzentil von 120 bei binären join-abfragen, was deutlich besser ist als das nullpunktmodell. die ergebnisse zeigen, dass eine feinabstimmung des vorab trainierten modells dessen leistung selbst bei 500 abfragen deutlich verbessern kann. dies macht sie für praktische anwendungen geeignet, bei denen die trainingsdaten begrenzt sind.

zusammenfassend stellt cardbench einen erheblichen fortschritt bei der erlernten kardinalitätsschätzung dar. forscher können weitere innovationen in diesem kritischen bereich fördern, indem sie umfassende und vielfältige benchmarks bereitstellen, um verschiedene ce-modelle systematisch zu bewerten und zu vergleichen.dieser benchmark ermöglicht die feinabstimmung von modellen, die weniger daten und trainingszeit erfordern.es bietet eine praktische lösung für praktische anwendungen, bei denen das training neuer modelle zu teuer ist.