Zum Inhalt springen

TPC-DS-Erweiterung

Warning Die tpcds-Erweiterung ändert sich in DuckDB Version 2.0, damit der Generator mit TPC-DS Version 4 kompatibel ist. Weitere Details finden Sie im zugehörigen PR.

Die tpcds-Erweiterung implementiert den Datengenerator und die Abfragen für den TPC-DS-Benchmark.

Installation und Laden

Die tpcds-Erweiterung wird beim ersten Gebrauch transparent aus dem offiziellen Erweiterungs-Repository automatisch geladen. Wenn Sie sie manuell installieren und laden möchten, führen Sie aus:

INSTALL tpcds;
LOAD tpcds;

Verwendung

Um Daten für den Scale Factor 1 zu erzeugen, verwenden Sie:

CALL dsdgen(sf = 1);

Um eine Abfrage auszuführen, z. B. Query 8, verwenden Sie:

PRAGMA tpcds(8);
s_store_name sum(ss_net_profit)
able -10354620.18
ation -10576395.52
bar -10625236.01
ese -10076698.16
ought -10994052.78

Abfragen auflisten

Um alle 99 Abfragen aufzulisten, führen Sie aus:

FROM tpcds_queries();

Diese Funktion gibt eine Tabelle mit den Spalten query_nr und query zurück.

Erwartete Antworten auflisten

Um die erwarteten Ergebnisse für alle Abfragen bei den Scale Factors 1 und 10 zu erzeugen, führen Sie aus:

FROM tpcds_answers();

Diese Funktion gibt eine Tabelle mit den Spalten query_nr, scale_factor und answer zurück.

Schema erzeugen

Es ist möglich, das Schema von TPC-DS ohne Daten zu erzeugen, indem der Scale Factor auf 0 gesetzt wird:

CALL dsdgen(sf = 0);

Parameter des Datengenerators

Die Datengenerator-Funktion dsdgen hat die folgenden Parameter:

Name Typ Beschreibung
catalog VARCHAR Zielkatalog
keys BOOLEAN Primär- und Fremdschlüssel erzeugen
overwrite BOOLEAN (Nicht verwendet)
schema VARCHAR Zielschema
sf DOUBLE Scale Factor
suffix VARCHAR Hängt das suffix an Tabellennamen an

Vorab erzeugte Datensätze

Vorab erzeugte DuckDB-Datenbanken für TPC-DS stehen zum Download bereit. Beachten Sie, dass diese mit DuckDB v1.x erzeugt wurden. DuckDB v2.x erzeugt leicht abweichende TPC-DS-Dateien, die mit TPC-DS v4 kompatibel sind.

Einschränkungen

Die Funktion tpcds(⟨query_id⟩){:.language-sql .highlight} führt eine feste TPC-DS-Abfrage mit vordefinierten Bind-Parametern (auch Substitutionsparameter genannt) aus. Die Abfrageparameter können mit der tpcds-Erweiterung nicht geändert werden.