Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Prerequisites

  • Docker 20 or newer

Installation

Run a Docker container with TigerGraph, making sure to mount the data directory as well as a directory thesis which has the contents of this repository:

docker run \
  -d \
  -p 14022:22 -p 9000:9000 -p 14240:14240 \
  --name tigergraph \
  --ulimit nofile=1000000:1000000 \
  -v ~/tigergraph/data:/home/tigergraph/mydata \
  -v ~/Development/thesis:/home/tigergraph/thesis \
  -m 6g \
  -t docker.tigergraph.com/tigergraph:3.6.0

Data loading

  1. Connect to the TigerGraph instance with
ssh -p 14022 tigergraph@localhost

and enter password tigergraph.

  1. Start the TigerGraph services with gadmin start all.

Recommendations

  1. Download the recommendations data and place all CSV files in a directory ~/tigergraph/data/recomendations.

  2. Drop the existing database and create the schema:

gsql ~/thesis/tigergraph/recommendations/schema.gsql
  1. Prepare jobs for loading the data:
gsql ~/thesis/tigergraph/recommendations/preload.gsql
  1. Execute the loading jobs:
gsql ~/thesis/tigergraph/recommendations/load.gsql
  1. Install the validation queries:
gsql ~/thesis/tigergraph/recommendations/prevalidate.gsql
  1. Run the validation queries:
bash ~/thesis/tigergraph/recommendations/validate.sh | jq

SNB

  1. Download the Social Network Benchmark dataset file social_network-csv_basic-sf$SCALE_FACTOR.tar.zst (where $SCALE_FACTOR is 0.1, 0.3, 1 etc.) from this repository and extract the CSV files using the instructions.

  2. Drop the existing database and create the schema:

gsql ~/thesis/tigergraph/snb/schema.gsql
  1. Prepare jobs for loading the data:
gsql ~/thesis/tigergraph/snb/preload.gsql
  1. Adjust the LDBC_SNB_DATA_DIR variable in the load.sh script if necessary and execute it:
bash ~/thesis/tigergraph/snb/load.sh
  1. Install the validation queries:
gsql ~/thesis/tigergraph/snb/prevalidate.gsql
  1. Run the validation queries:
bash ~/thesis/tigergraph/snb/validate.sh | jq

Time measuring

TigerGraph stores a log of all queries in ~/tigergraph/log/gpe/log.INFO. We provide a script measure.sh which sums up the execution times of all queries in that log and returns the total (in milliseconds). Just be sure to empty the log before starting the workload with echo > ~/tigergraph/log/gpe/log.INFO.