https://github.com/ldbc/ldbc_acid
ACID test suite for the LDBC benchmarks
https://github.com/ldbc/ldbc_acid
Last synced: 9 months ago
JSON representation
ACID test suite for the LDBC benchmarks
- Host: GitHub
- URL: https://github.com/ldbc/ldbc_acid
- Owner: ldbc
- License: apache-2.0
- Created: 2020-06-11T19:58:05.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2025-02-18T19:30:48.000Z (over 1 year ago)
- Last Synced: 2025-08-08T11:53:58.703Z (10 months ago)
- Language: Java
- Homepage:
- Size: 10.2 MB
- Stars: 5
- Watchers: 11
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# LDBC ACID tests
[TPCTC'20 paper](https://link.springer.com/chapter/10.1007/978-3-030-84924-5_1) ([preprint PDF](http://mit.bme.hu/~szarnyas/ldbc/ldbc-acid-tpctc2020-camera-ready.pdf))
See the chapter on "ACID tests" in the [LDBC SNB specification](https://ldbc.github.io/ldbc_snb_docs/ldbc-snb-specification.pdf)
## 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:
```bash
docker run -p 7474:7474 -p 7687:7687 --env=NEO4J_AUTH=none neo4j:3.5.20
```
Version 4.1.x:
```bash
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.
```bash
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
```bash
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.
```console
$ 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
```bash
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
```bash
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:
```bash
docker run -p 127.0.0.1:7200:7200 --name graphdb-instance-name -t ontotext/graphdb:10.0.2
```
Check the [GraphDB Docker Hub](https://hub.docker.com/r/ontotext/graphdb/) for more information on how to use graphdb images.