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.
tpcds-sf10.db(2,9 GB)tpcds-sf30.db(7,7 GB)tpcds-sf100.db(26,6 GB)tpcds-sf300.db(79,3 GB)
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.