|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Dgraph||19,122||3||4||a day ago||174||January 05, 2022||262||other||Go|
|Native GraphQL Database with graph backend|
|Sonic||17,891||19 days ago||24||July 10, 2022||66||mpl-2.0||Rust|
|🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.|
|An open source cybersecurity protocol for syncing decentralized graph data.|
|Arangodb||12,872||6 hours ago||240||May 23, 2018||758||apache-2.0||C++|
|Neo4j||11,219||966||179||a day ago||374||August 11, 2022||310||other||Java|
|Graphs for Everyone|
|Nebula||8,907||1||10 hours ago||1||December 17, 2019||433||apache-2.0||C++|
|A distributed, fast open-source graph database featuring horizontal scalability and high availability|
|Titan||5,035||165||32||6 years ago||20||September 19, 2015||191||apache-2.0||Java|
|Distributed Graph Database|
|Awesome Data Engineering||4,819||a month ago||51|
|A curated list of data engineering tools for software developers|
|Orientdb||4,569||328||54||3 days ago||209||September 14, 2022||261||apache-2.0||Java|
|OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.|
|Typedb||3,366||6||5||7 hours ago||24||December 13, 2018||172||agpl-3.0||Java|
|TypeDB: a strongly-typed database|
Example use case implementations from the O'Reilly book Graph Databases by @iansrobinson, @jimwebber and @emileifrem.
This repository contains a submodule, neode, which is used to build the performance datasets. After cloning the repository, you will need to initialize the submodule:
git submodule init
git submodule update
To run the use case queries:
mvn clean install
Queries are developed in a test-driven fashion against small, well-known representative graphs (as described pp.83-87 of the book). The queries can then be run against a much larger, randomly-generated graph (typically, 1-2 million nodes and several million relationships), to test their relative performance. (Note: these performance tests do not test production-like scenarios; rather, they act as a sanity check, ensuring that queries that run fast against a very small graph are still reasonably performant when run against a larger graph.)
The project contains 3 modules (in addition to the neode submodule):
Contains the use case queries and the unit tests used to develop the queries.
Builds larger, randomly-generated sample datasets.
Runs the queries against the large sample datasets.
First, build the project as described in Setup.
Before you run the performance tests you will need to generate sample datasets. To create a sample dataset run:
mvn test -pl data-generation -DargLine="-Xms2g -Xmx2g" -Dtest=AccessControl|Logistics|SocialNetwork
For example, to generate a sample dataset for the Logistics queries, run:
mvn test -pl data-generation -DargLine="-Xms2g -Xmx2g" -Dtest=Logistics
WARNING: Building the sample datasets takes a long time (several tens of minutes in some cases).
To execute the performance tests against a sample dataset, run:
mvn test -pl performance-testing -DargLine="-Xms2g -Xmx2g" -Dtest=AccessControl|Logistics|SocialNetwork