Updated in May 2020
Dgraph |
Neo4j |
|
Native GraphQL Support |
Yes Only DB to natively support GraphQL resulting in capacity to process GraphQL queries in parallel with high performance |
No Neo4j uses an annotated GraphQL Schema to translate any GraphQL query to a single Cypher query that is executed against Neo4j. Reference |
Distributed Graph Database |
Distributed with the ability to use the same query everywhere as if querying a single database | Data consistency is not guaranteed in a distributed Neo4j database. Even with 4.0, this is a work in progress Reference |
Distributed ACID Transactions |
|
|
Sharding |
|
|
Consistent Replication |
Synchronous replication across all replicas | Core servers have consistent replication, however “Read Replicas are asynchronously replicated from core servers” Reference |
Linearizable Reads |
Strong (sequential) consistency across clients Reference | Causal and eventual consistency configurable in Causal Cluster setup. Immediate consistency in stand-alone mode Reference |
Correctness and Durability Testing |
|
Transactional consistency in not Jepsen tested |
High Availability |
Yes
|
No |
Transparent Data Encryption |
Yes Yes, database files are encrypted at rest with a user-specified key |
|
Query Languages |
|
Cypher Query Language |
Management of Runaway Queries |
|
|
Backups |
|
|
Pricing and Free Trial |
|
|
Appropriate as primary database to |
Dgraph is a general-purpose database | Typically used as a secondary database for specific use cases |
Open Source |
Yes
|
Yes
|
Protocols |
|
|
Point in Time Recovery |
On the roadmap | No |
Multi-region Deployments |
Yes | Enterprise Edition supports multi-data center deployment |
SQL Migration Tool |
Yes | Data migration between MySQL and Neo4 |
Authentication and authorization |
|
|
Drivers |
|
|
Multi-database Features |
Multi-Tenancy on the roadmap | Multi-Tenancy in Neo4j |
Graph Database As A Service (DBaaS) |
Hosted solution launching in mid-year 2020 | Aura |
Query Execution Plans |
Query planning on the roadmap |
Yes Users can use the PROFILE command with their cypher query directly in Neo4j browser to see a visualization of the execution plan |
Support for graph algorithms |
|
Neo4j Graph Data Science (GDS) Library |
Apache Spark integration |
No |
Neo4j Spark Connector |
Kafka integration |
On the roadmap | Neo4j Streams Kafka Integration |
Import/export |
|