# LDBC benchmarks ## How to run the benchmark against Neo4j OR Memgraph? cd memgraph/tests/public_benchmark/ldbc ./setup ./build_dataset [--scale-factor 1] # To run short reads by default, just call: ./run_benchmark --create-index --run-db memgraph # or neo4j # To run update queries pass the properties file for updates and slow down # the execution by setting a larger time compression ratio. ./run_benchmark --create-index --run-db memgraph --test-type updates \ --time-compression-ratio 1.5 ## How to run a specific test? cd memgraph/tests/public_benchmark/ldbc/ldbc-snb-impls/snb-interactive-neo4j mvn exec:java -Dexec.mainClass="net.ellitron.ldbcsnbimpls.interactive.neo4j.util.QueryTester" -Dexec.args="shortquery1 933 --repeat=10000 --timeUnits=MICROSECONDS" ## Useful terminal commands ### How to find out Default Query Limits? cd memgraph/tests/public_benchmark/ldbc/ldbc_driver ag "DEFAULT_LIMIT" ## How to run test cases? cd memgraph/tests/public_benchmark/ldbc neo4j-client --insecure -u "" -p "" -o test_cases/results/short_query_2.oc.out -i test_cases/queries/short_query_2.oc localhost 7687 ## How to create indexes manually? cd memgraph/tests/public_benchmark/ldbc source ve3/bin/activate ./index_creation.py ldbc-snb-impls/snb-interactive-neo4j/scripts/indexCreation.neo4j ## Where is and how to use LDBC plotting? cd memgraph/tests/public_benchmark/ldbc source ve2/bin/activate cd memgraph/tests/public_benchmark/ldbc/ldbc_driver/plotting python make_charts_all_queries_all_metrics.py /path/to/ldbc_driver/results/LDBC-results.json legend_location ## TODOs 1. Run & validate all Short queries + optimize MemGraph performance. 2. Write the log parser. 3. Visualize the results. 4. Run & validate all Update queries + optimize MemGraph performance. 5. Run apacaci code an compare the results (Do We Need Specialized Graph Database?). * https://github.com/anilpacaci/ldbc_driver * https://github.com/anilpacaci/ldbc_snb_implementations * https://github.com/anilpacaci/ldbc-snb-impls * https://github.com/anilpacaci/graph-benchmarking 6. Optimize MemGraph performance. 7. Scale benchmarks (scale factors 1, 3, 10). 8. Test against Postgres and make comparison between Neo, Memgraph & Postgres. Latency + Throughput. 9. Run & validate all queries + optimize MemGraph performance. 10. Optimize MemGraph spinup time.