Giter Site home page Giter Site logo

graphdb-benchmarks's Introduction

graphdb-benchmarks

Benchmark tests for various graph databases.

Results of first LoadData benchmark tests.

Loading 30kmoviedata provided in cayley examples folder

  1. Loading data in cayley graph with bolt backend.
Ankurs-MacBook-Pro:graphdb-benchmark ankur$ go run main.go -db=cayley
Starting benchmark tests for cayley.
==> Executing: go test ./cayley/ -bench=.
==> Output: testing: warning: no tests to run
==> Executing: cayley init -db=bolt -dbpath=cayleydb -quads=../data/30kmoviedata.nq.gz
BenchmarkImportDataToDB-4   	       1	30028388985 ns/op
PASS
ok  	_/Users/ankuryadav/dev/benchmark/graphdb-benchmark/cayley	30.035s
  1. Loading data in dgraph.
Ankurs-MacBook-Pro:graphdb-benchmark ankur$ go run main.go -db=dgraph
Starting benchmark tests for dgraph.
==> Executing: go test ./dgraph/ -bench=.
==> Output: testing: warning: no tests to run
==> Executing: dgraphloader -r=../data/30kmoviedata.nq.gz
==> Output:
Processing ../data/30kmoviedata.nq.gz
Number of mutations run   : 472ne:   471705 RDFs per second:  124927
Number of RDFs processed  : 471705
Time spent                : 4.715085371s
RDFs processed per second : 117926
BenchmarkImportDataToDB-4   	       1	4738905881 ns/op
PASS
ok  	_/Users/ankuryadav/dev/benchmark/graphdb-benchmark/dgraph	4.745s

Loading 21million.rdf.gz data

  1. Loading data in cayley graph with bolt backend.
Ankurs-MacBook-Pro:graphdb-benchmark ankur$ go run main.go -db=cayley
Starting benchmark tests for cayley.
==> Executing: go test -timeout=5h ./cayley/ -bench=.
==> Output: testing: warning: no tests to run
==> Executing: cayley init -db=bolt -dbpath=cayleydb -quads=../data/21million.rdf.gz
BenchmarkImportDataToDB-4   	       1	8527419635659 ns/op
PASS
ok  	_/Users/ankuryadav/dev/benchmark/graphdb-benchmark/cayley	8527.427s
  1. Loading data in dgraph.
Ankurs-MacBook-Pro:graphdb-benchmark ankur$ go run main.go -db=dgraph
Starting benchmark tests for dgraph.
==> Executing: go test -timeout=5h ./dgraph/ -bench=.
==> Output: testing: warning: no tests to run
==> Executing: dgraphloader -r=../data/21million.rdf.gz
==> Output:
Processing ../data/21million.rdf.gz
Number of mutations run   : 21240: 21239872 RDFs per second:   24229
Number of RDFs processed  : 21239872
Time spent                : 14m39.848819629s
RDFs processed per second : 24163
BenchmarkImportDataToDB-4   	       1	879903054838 ns/op
PASS
ok  	_/Users/ankuryadav/dev/benchmark/graphdb-benchmark/dgraph	879.913s

Results of Queries benchmark.

####(Dgraph queries were performed in GraphQL+- and Cayley were performed in gremlin).

Query to find all movies and their genre which are directed by director "Steven Spielberg".

  1. Querying in cayley graph with bolt backend.
Ankurs-MacBook-Pro:graphdb-benchmark ankur$ go run main.go -db=cayley -bench=queries
Starting benchmark tests for cayley.
Starting queries benchmarking tests.
==> Executing: go test -timeout 4h ./cayley/ -bench BenchmarkQuery*
==> Output: testing: warning: no tests to run
BenchmarkQueryFilmByDirector-4   	      20	  64747834 ns/op
PASS
ok  	_/Users/ankuryadav/dev/benchmark/graphdb-benchmark/cayley	1.376s
  1. Querying in dgraph.
Ankurs-MacBook-Pro:graphdb-benchmark ankur$ go run main.go -db=dgraph -bench=queries
Starting benchmark tests for dgraph.
Starting queries benchmarking tests.
==> Executing: go test -timeout 4h ./dgraph/ -bench BenchmarkQuery*
==> Output: testing: warning: no tests to run
BenchmarkQueryFilmByDirector-4   	    1000	   1764900 ns/op
PASS
ok  	_/Users/ankuryadav/dev/benchmark/graphdb-benchmark/dgraph	2.067s

Results of Queries benchmark.

####(Dgraph queries were performed in GraphQL+- and Cayley were performed in MQL).

Query to find all movies and their genre which are directed by director "Steven Spielberg".

  1. Querying in cayley graph with bolt backend.
Ankurs-MacBook-Pro:graphdb-benchmark ankur$ go run main.go -db=cayley -bench=queries
Starting benchmark tests for cayley.
Starting queries benchmarking tests.
==> Executing: go test -timeout 4h ./cayley/ -bench BenchmarkQuery*
==> Output: testing: warning: no tests to run
BenchmarkQueryFilmByDirector_WithNodeIDGiven-4   	     300	   5266758 ns/op
BenchmarkQueryFilmByDirector_WithNameGiven-4     	     300	   4612812 ns/op
PASS
ok  	_/Users/ankuryadav/dev/benchmark/graphdb-benchmark/cayley	4.027s
  1. Querying in dgraph.
Ankurs-MacBook-Pro:graphdb-benchmark ankur$ go run main.go -db=dgraph -bench=queries
Starting benchmark tests for dgraph.
Starting queries benchmarking tests.
==> Executing: go test -timeout 4h ./dgraph/ -bench BenchmarkQuery*
==> Output: testing: warning: no tests to run
BenchmarkQueryFilmByDirector_WithNodeIDGiven-4   	    2000	    891509 ns/op
BenchmarkQueryFilmByDirector_WithNameGiven-4     	    2000	   1137399 ns/op
PASS
ok  	_/Users/ankuryadav/dev/benchmark/graphdb-benchmark/dgraph	4.639s

Ankurs-MacBook-Pro:graphdb-benchmark ankur$ go run main.go -db=cayley -bench=queries

Note : MQL queries for cayley are present in cayleyMQL branch. Note : Please ensure you have Git LFS installed, before you clone this repository.

graphdb-benchmarks's People

Contributors

ankurayadav avatar lapnd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.