Dgraph

TigerGraph

Native GraphQL Support

Yes

Only DB to natively support GraphQL

No

Distributed ACID Transactions

Supported and Jepsen tested.
  • Only single server ACID transactions, not distributed.
  • You cannot update the graph. Distributed queries currently (as of v2.1) can only read the graph data.
  • Reference

Horizontally Scalable

Dgraph scales vertically and horizontally with no downtime.
  • To go from a non-HA cluster to an HA-cluster, the database must be cleared and shut down first before adding new nodes.
  • Reference 1
  • Reference 2

Distributed Graph database

Yes

Yes

Consistent Replication

Synchronous replication across replicas Strong consistency

Linearizable Reads

Strong (sequential) consistency across clients

Open Source:

  • Yes, Apache 2.0.
  • Proprietary code base is source-available.
  • GitHub

No

Tested for correctness, fault
tolerance and durability

Yes (Jepsen) Not Jepsen tested.

Suitability as a primary database to
build apps/data platform on

Yes, Dgraph is a general-purpose database with a graph backend. Built for **specific"" applications.

Query Language(s)

  • GraphQL
  • GraphQL Foundation founding member
  • GraphQL± (Variation of GraphQL supporting advanced features)
GSQL

Multiple language drivers

  • Official: (Java, JavaScript, Go, Pythonk, C#)
  • Unofficial (Rust, Dart, Elixir)
  • Reference
C++, Java

Protocols

HTTP/HTTPS, gRPC, Protocol Buffers HTTP/HTTPS

Import/export

  • Using BulkLoader or LiveLoader, Dgraph can read the data as is with no modification needed
  • Supported data formats are JSON and RDF
  • Exporting database is explained here

Backups

  • Binary format
  • Both full and incremental backups to files, S3 and Google storage via Minio
  • Live backups with no downtime
  • Reference
  • Proprietary tarball per node
  • No live backup, must turn off writes for consistency.
  • Reference

Point in time recovery

On the roadmap No

Multi-region deployments

Yes

No

Management of runaway queries

  • Context cancellation which works across clients and servers. So, a context cancellation at the client level would automatically cancel the query at all involved servers
  • OpenCensus integration , which allows distributed tracing all the way from app to Dgraph cluster and back.
  • Open standards for query context cancellation and tracking
Yes via query timeout only

Pricing and Free trial

  • Open source version is under Apache 2.0, so free to use and modify.
  • Enterprise version pricing is based on the number of instances of Dgraph, not the number of cores / RAM / Disk, etc…
  • Enterprise 30-day trial

Sharding

  • Predicate-based sharding . Avoids N+1 problem and network broadcasts when running a query in high fanout scenarios. This ensures low-latency query execution, irrespective of the size of the cluster or the number of intermediate results. Reference
  • Consistent production level latencies and consistent queries Reference
  • Automatic sharding
  • Sharding a single predicate on the roadmap
Node-based sharding

High availability

  • Yes, HA Cluster Setup is explained here
  • HA Cluster setup is available in Community Edition.
Yes

Support for graph algorithms

  • Shortest k-paths
  • Edge traversal limit to determine cycles in graphs
  • Others requested from community listed here
Yes

Apache Spark integration

No Allows integration

Kafka integration

On the roadmap Yes

Neo4j Migration tool

No yes

SQL Migration tool

Yes No

Multi-database features

Multi-Tenancy on the roadmap Enterprise Edition Only MultiGraph

Graph Database As A Service (DBaaS)

Hosted solution launching in mid-year 2020 Yes

Query execution plans

Query planning on the roadmap Enterprise only

Authentication and authorization

  • JSON web tokens
  • ACLs for enterprise
  • Integration with LDAP on the roadmap

Transparent data encryption

Yes, database files are encrypted at rest with a user-specified key
  • No file-level encryption.
  • Encryption-at-rest relies on filesystem-level or disk-level encryption only. Reference

Questions?

Contact US