Home

Awesome

Build License GitHub last commit

JasmineGraph

1. Introduction

JasmineGraph is a C/C++ based distributed graph database server. It has been developed following the Acacia graph database server architecture. JasmineGraph can be run on single computer as well as on a compute cluster.

2. Building and Running JasmineGraph on Docker

JasmineGraph can be run inside a docker image. After cloning the project, build the image as follows:

docker build -t jasminegraph .

Run the image by providing the appropriate volume mount paths and parameters:

docker run -v "/var/run/docker.sock:/var/run/docker.sock:rw" -v "/root/.ssh:/home/user/.ssh" -v "/tmp:/tmp" -v "/var/tmp/jasminegraph-localstore:/var/tmp/jasminegraph-localstore" -v "/var/tmp/jasminegraph-aggregate:/var/tmp/jasminegraph-aggregate" -v "/home/user/Documents/jasminegraph/metadb:/home/ubuntu/software/jasminegraph/metadb" -v "/home/user/Documents/MSc/jasminegraph/performancedb:/home/ubuntu/software/jasminegraph/performancedb" -p 7777:7777 -p 7778:7778 jasminegraph --MODE 1 --MASTERIP <docker0 interface ip> --WORKERS 4 --WORKERIP <docker0 interface ip> --ENABLE_NMON false

Run JasmineGraph in Kubernetes environment by providing appropriate parameters:

./start-k8s.sh --META_DB_PATH "$(pwd)/metadb" \
    --PERFORMANCE_DB_PATH "$(pwd)/performancedb" \
    --DATA_PATH "$(pwd)/data" \
    --LOG_PATH "$(pwd)/logs" \
    --AGGREGATE_PATH "$(pwd)/aggregate" \
    --NO_OF_WORKERS 2 \
    --ENABLE_NMON false \
    --MAX_COUNT 4

Note: NO_OF_WORKERS, MAX_COUNT, and ENABLE_NMON are optional arguments, and it defaults to 2, 4 and false respectively.

Remove all resources created by JasmineGraph in Kubernetes environment:

./start-k8s.sh clean

3. Contact Information

Please contact [Miyuru Dayarathna](miyurud at yahoo dot co dot uk) for further information. Please let us know about bug reports or any further improvements you wish to have in JasmineGraph.

Open Source License

JasmineGraph is licensed under the Apache License, Version 2.0. Task Scheduler which is integrated in JasmineGraph is using MIT License.

References

More details of JasmineGraph's approach for managment and mining of large graph data is available from the following list of papers.