Skip to content

ldbc/ldbc_acid

Repository files navigation

LDBC ACID tests

TPCTC'20 paper (preprint PDF)

See the chapter on "ACID tests" in the LDBC SNB specification

Systems

  • Neo4j
  • Memgraph
  • Dgraph
  • TigerGraph
  • JanusGraph (various backends)
  • PostgreSQL (various isolation levels)
  • OntoText GraphDB (Read Committed isolation level)

Getting started

Neo4j

Version 3.5.x:

docker run -p 7474:7474 -p 7687:7687 --env=NEO4J_AUTH=none neo4j:3.5.20

Version 4.1.x:

docker run -p 7474:7474 -p 7687:7687 --env=NEO4J_AUTH=none neo4j:4.1.1

Memgraph

Bind it to 17687 to avoid a collision with Neo4j.

wget https://download.memgraph.com/memgraph/v1.1.0/docker/memgraph-1.1.0-community-docker.tar.gz
docker load -i memgraph-1.1.0-community-docker.tar.gz
docker run -p 17687:7687 memgraph

If you need to change the configuration, use

docker run -p 17687:7687 -v mg_lib:/var/lib/memgraph -v mg_log:/var/log/memgraph -v mg_etc:/etc/memgraph memgraph

Experimenting: the Neo4j Cypher shell works with Memgraph.

$ bin/cypher-shell 
Connected to Neo4j 3.0.0 at bolt://localhost:7687.
Type :help for a list of available commands or :exit to exit the shell.
Note that Cypher queries must end with a semicolon.
sudo snap install node --classic --channel=12

Dgraph

docker run --rm -it -p 8080:8080 -p 9080:9080 -p 8000:8000 -v ~/dgraph:/dgraph dgraph/standalone:v20.07.0

Postgres

We're currently using an embedded version.

TigerGraph

docker run --rm -idt --name acid-tg -p 9000:9000 -p 14022:22 -p 14240:14240 -v `pwd`/tigergraph:/tigergraph:z docker.tigergraph.com/tigergraph:latest
docker exec --user tigergraph -it acid-tg bash -c "export PATH=/home/tigergraph/tigergraph/app/cmd:\$PATH; gadmin start all; gsql /tigergraph/setup.gsql"
# to log into the container
# docker exec --user tigergraph -it acid-tg bash
# Stop the docker after the test
docker stop acid-tg 

Note that the license in the container is a trial license supporting at most 100GB data. This license is sufficient for ACID tests.

TigerGraph has two modes of running query: non-distributed and distributed. The ABORT function currently does not work in the non-distributed mode but works for distributed. Atomicity and G1aW are implemented in the distributed query and all other queries are implemented using non-distributed query. All the tests pass.

OntoText GraphDB

Version 10.0.x:

docker run -p 127.0.0.1:7200:7200 --name graphdb-instance-name -t ontotext/graphdb:10.0.2

Check the GraphDB Docker Hub for more information on how to use graphdb images.

About

ACID test suite for the LDBC benchmarks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published