Skip to content

Latest commit

 

History

History
38 lines (24 loc) · 1.51 KB

README.md

File metadata and controls

38 lines (24 loc) · 1.51 KB

LDBC SNB DuckDB implementation

DuckDB implementation of the LDBC Social Network Benchmark's Interactive workload.

Setup

Grab DuckDB:

scripts/get.sh

Generating and loading the data set

Generating the data set

The data sets need to be generated before loading it to the database. No preprocessing is required. To generate the data sets for DuckDB, use the same settings as for PostgreSQL, i.e. the Hadoop-based Datagen's CsvMergeForeign serializer classes.

Loading the data set

export DUCKDB_CSV_DIR=`pwd`/../postgres/test-data
scripts/load.sh

Running the benchmark

To run the scripts of benchmark framework, edit the driver/{create-validation-parameters,validate,benchmark}.properties files, then run their script, one of:

driver/create-validation-parameters.sh
driver/validate.sh
driver/benchmark.sh

⚠️ SNB data sets of different scale factors require different configurations for the benchmark runs. Therefore, make sure you use the correct values (update_interleave and query frequencies) based on the files provided in the sf-properties/ directory.

  • The default workload contains updates which are persisted in the database. Therefore, the database needs to be reloaded or restored from backup before each run. Use the provided scripts/backup-database.sh and scripts/restore-database.sh scripts to achieve this.