LDBC SNB Interactive Umbra implementation
April 14, 2023 ยท View on GitHub
Umbra implementation of the LDBC Social Network Benchmark's Interactive workload.
Setup
The recommended environment is that the benchmark scripts (Bash) and the LDBC driver (Java 8) run on the host machine, while the Umbra database runs in a Docker container. Therefore, the requirements are as follows:
- Bash
- Java 8
- Docker 19+
libpg5- the
psycopgPython library:scripts/install-dependencies.sh - enough free space in the directory
${UMBRA_DATABASE_DIR}(its default value is specified inscripts/vars.sh)
The default configuration of the database (e.g. database name, user, password) is set in the scripts/vars.sh file.
docker-compose
Alternatively, a docker-compose available to start the Umbra container and a container loading the data. This requires docker-compose installed on the host machine. Running Umbra and loading the data can be done by executing:
docker-compose build && docker-compose up
The default environment variables are loaded from .env. Change the UMBRA_CSV_DIR to point to point to the data set, e.g.
UMBRA_CSV_DIR=`pwd`/test-data/
Getting the container image
The Umbra Docker container image is available upon request from TU Munich's Database group. Load it to Docker as follows:
curl ... | docker load
Running the benchmark
Loading the data set
Umbra uses the same data format at PostgreSQL (CsvMergeForeign serializer / social_network-csv_merge_foreign-sf* data sets).
-
Set the
${UMBRA_CSV_DIR}environment variable to point to the data set, e.g.:export UMBRA_CSV_DIR=`pwd`/../postgres/test-data/ -
To start the DBMS, create a database and load the data, run:
scripts/load-in-one-step.sh
Running the benchmark driver
The instructions below explain how to run the benchmark driver in one of the three modes (create validation parameters, validate, benchmark). For more details on the driver modes, check the "Driver modes" section of the main README.
Create validation parameters
-
Edit the
driver/benchmark.propertiesfile. Make sure that theldbc.snb.interactive.scale_factor,ldbc.snb.interactive.updates_dir,ldbc.snb.interactive.parameters_dirproperties are set correctly and are in sync. -
Run the script:
driver/create-validation-parameters.sh
Validate
-
Edit the
driver/validate.propertiesfile. Make sure that thevalidate_databaseproperty points to the file you would like to validate against. -
Run the script:
driver/validate.sh
Benchmark
-
Edit the
driver/benchmark.propertiesfile. Make sure that theldbc.snb.interactive.scale_factor,ldbc.snb.interactive.updates_dir, andldbc.snb.interactive.parameters_dirproperties are set correctly and are in sync. -
Run the script:
driver/benchmark.sh
Reload between runs
:warning: 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.