Updated in July 2020
Dgraph |
JanusGraph |
|
Native GraphQL Support |
Yes Only DB to natively support GraphQL resulting in capacity to process GraphQL queries in parallel with high performance |
No JanusGraph query language is Gremlin. Reference |
Distributed Graph Database |
Distributed with the ability to use the same query everywhere as if querying a single database. | JanusGraph is distributed only with Apache Cassandra and Apache HBase. Note that BerkeleyDB JE is a non-distributed database. HBase gives preference to consistency at the expense of yield, and Cassandra gives preference to availability at the expense of harvest. Reference |
Distributed ACID Transactions |
|
JanusGraph transactions are not necessarily ACID. They can be so configured on BerkeleyDB, but they are not generally so on Cassandra or HBase, where the underlying storage system does not provide serializable isolation or multi-row atomic writes and the cost of simulating those properties would be substantial. Reference |
Sharding |
|
|
Consistent Replication |
Synchronous replication across all replicas |
|
Linearizable Reads |
Strong (sequential) consistency across clients. Reference |
|
Correctness and Durability Testing |
|
It is not Jepsen-tested |
High Availability |
Yes
|
|
Transparent Data Encryption |
Yes Database files are encrypted at rest with a user-specified key |
This depends on the backend storage system. Hbase and Oracle Berkley DB have encryption at rest options. Although it is not documented how they can be used with JanusGraph. Reference for Hbase , and for Berkley DB. |
Query Languages |
|
Gremlin Query Language |
Management of Runaway Queries |
|
|
Backups |
|
|
Pricing and Free Trial |
|
Open Source under the Apache 2 license |
Appropriate as primary database to build apps/data platform on |
Dgraph is a general-purpose database | The use case is determined by the storage backend, JanusGraph is a graph engine not a graph database. |
Open Source |
Yes
|
Open Source under the Apache 2 license |
Protocols |
|
|
Point in Time Recovery |
On the roadmap | JanusGraph does not provide point in time recovery. It can be configured to keep a write-ahead log Reference. |
Multi-region Deployments |
Yes |
Depends on the storage system used. Cassandra has multi-region deployment. Reference |
SQL Migration Tool |
Yes |
No There are some suggestions on the resources to do this with Cassandra here. |
Authentication and authorization |
HTTP Basic authentication and authentication over websocket. Reference | |
Drivers |
|
|
Multi-database Features |
Multi-Tenancy on the roadmap | Edge Label Multiplicity |
Graph Database As A Service (DBaaS) |
No |
|
Query Execution Plans |
Query planning on the roadmap | With JanusGraphManager, you can define a property in your configuration that defines how to access a graph. |
Support for graph algorithms |
|
JanusGraph doesn’t talk about graph algorithms but one could follow this Gremlin recipe for shortest-path for example. |
Apache Spark integration |
No |
Users can leverage Apache Hadoop and Apache Spark to configure JanusGraph for distributed graph processing. Reference |
Kafka integration |
On the roadmap | There are no official plugins but there are some integrations done by the community. Here is an example with Hbase |
Import/export |
|
|