Skip to content

ACID test suite for the LDBC benchmarks

License

Notifications You must be signed in to change notification settings

yuchenZhangTG/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
  • JanusGraph (various backends)
  • PostgreSQL (various isolation levels)

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 the license in the container is a trial license supporting at most 100GB data. This license 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 work for distributed. Atomicity and G1aW are implemented in the distributed query and all other queries are implemented using non-distributed query. All the tests can pass.

About

ACID test suite for the LDBC benchmarks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.9%
  • Other 0.1%