Need advice about which tool to choose?Ask the StackShare community!

Dgraph

125
220
+ 1
9
RedisGraph

31
107
+ 1
7
Add tool

Dgraph vs RedisGraph: What are the differences?

Introduction

Dgraph and RedisGraph are both graph databases but they have key differences in terms of features and capabilities.

  1. Data Modeling: Dgraph is a distributed graph database that uses a native graph model, allowing for complex relationships and nested data structures. It supports directed and undirected edges with properties, and can handle large-scale data and query workloads. On the other hand, RedisGraph is an in-memory graph database that uses the property graph model, which includes nodes, edges, and properties. It offers limited support for nested data structures and is optimized for real-time queries on small to medium-sized datasets.

  2. Query Language: Dgraph provides a powerful query language called GraphQL+-, which extends the GraphQL standard with additional graph-specific features. It allows for complex filtering, aggregations, and traversals on distributed graphs. RedisGraph, on the other hand, uses the Cypher query language, which is a standard query language for property graphs. It provides a more declarative and expressive syntax for graph traversal and pattern matching.

  3. Scalability: Dgraph is designed to be horizontally scalable and supports sharding and replication, allowing it to handle large amounts of data and high query loads. It can distribute data across multiple nodes and execute queries in a distributed manner. RedisGraph, on the other hand, is a single-server database and lacks built-in support for scaling horizontally. It is optimized for in-memory operations and real-time queries on a single machine.

  4. Persistence: Dgraph supports multiple storage options, including disk-based storage for durability and performance. It uses a log-structured merge tree (LSM tree) for efficient write operations and supports persistent data snapshots. RedisGraph, on the other hand, is an in-memory database and does not provide built-in support for disk-based persistence. It relies on Redis for durability and persistence, which can be configured based on Redis settings.

  5. Transactions: Dgraph provides support for distributed transactions across multiple nodes in a cluster. It ensures ACID (Atomicity, Consistency, Isolation, Durability) properties for transactions and allows for fine-grained control over data consistency. RedisGraph, on the other hand, does not natively support distributed transactions. It provides limited transactional support within a single server, with optional durability guarantees based on Redis settings.

  6. Community and Ecosystem: Dgraph has an active and growing community, with a strong focus on GraphQL and open-source development. It offers various tools and libraries, such as Ratel (a web-based user interface) and GraphQL libraries for different programming languages. RedisGraph, on the other hand, is developed and maintained by Redis Labs, a well-established company in the database space. It has a dedicated user community and integrates well with other Redis modules and tools.

In Summary, Dgraph and RedisGraph differ in their data modeling capabilities, query languages, scalability, persistence options, transaction support, and community ecosystems.

Advice on Dgraph and RedisGraph
Jaime Ramos
Needs advice
on
ArangoDBArangoDBDgraphDgraph
and
Neo4jNeo4j

Hi, I want to create a social network for students, and I was wondering which of these three Oriented Graph DB's would you recommend. I plan to implement machine learning algorithms such as k-means and others to give recommendations and some basic data analyses; also, everything is going to be hosted in the cloud, so I expect the DB to be hosted there. I want the queries to be as fast as possible, and I like good tools to monitor my data. I would appreciate any recommendations or thoughts.

Context:

I released the MVP 6 months ago and got almost 600 users just from my university in Colombia, But now I want to expand it all over my country. I am expecting more or less 20000 users.

See more
Replies (3)
Recommends
on
ArangoDBArangoDB

I have not used the others but I agree, ArangoDB should meet your needs. If you have worked with RDBMS and SQL before Arango will be a easy transition. AQL is simple yet powerful and deployment can be as small or large as you need. I love the fact that for my local development I can run it as docker container as part of my project and for production I can have multiple machines in a cluster. The project is also under active development and with the latest round of funding I feel comfortable that it will be around a while.

See more
David López Felguera
Full Stack Developer at NPAW · | 5 upvotes · 52.4K views
Recommends
on
ArangoDBArangoDB

Hi Jaime. I've worked with Neo4j and ArangoDB for a few years and for me, I prefer to use ArangoDB because its query sintax (AQL) is easier. I've built a network topology with both databases and now ArangoDB is the databases for that network topology. Also, ArangoDB has ArangoML that maybe can help you with your recommendation algorithims.

See more
Recommends
on
ArangoDBArangoDB

Hi Jaime, I work with Arango for about 3 years quite a lot. Before I do some investigation and choose ArangoDB against Neo4j due to multi-type DB, speed, and also clustering (but we do not use it now). Now we have RMDB and Graph working together. As others said, AQL is quite easy, but u can use some of the drivers like Java Spring, that get you to another level.. If you prefer more copy-paste with little rework, perhaps Neo4j can do the job for you, because there is a bigger community around it.. But I have to solve some issues with the ArangoDB community and its also fast. So I will preffere ArangoDB... Btw, there is a super easy Foxx Microservice tool on Arango that can help you solve basic things faster than write down robust BackEnd.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Dgraph
Pros of RedisGraph
  • 3
    Graphql as a query language is nice if you like apollo
  • 2
    Easy set up
  • 2
    Low learning curve
  • 1
    Open Source
  • 1
    High Performance
  • 3
    10x – 600x faster than any other graph database
  • 2
    Cypher – graph query language
  • 1
    Great graphdb
  • 1
    Open source

Sign up to add or upvote prosMake informed product decisions

What is Dgraph?

Dgraph's goal is to provide Google production level scale and throughput, with low enough latency to be serving real time user queries, over terabytes of structured data. Dgraph supports GraphQL-like query syntax, and responds in JSON and Protocol Buffers over GRPC and HTTP.

What is RedisGraph?

RedisGraph is a graph database developed from scratch on top of Redis, using the new Redis Modules API to extend Redis with new commands and capabilities. Its main features include: - Simple, fast indexing and querying - Data stored in RAM, using memory-efficient custom data structures - On disk persistence - Tabular result sets - Simple and popular graph query language (Cypher) - Data Filtering, Aggregation and ordering

Need advice about which tool to choose?Ask the StackShare community!

What companies use Dgraph?
What companies use RedisGraph?
Manage your open source components, licenses, and vulnerabilities
Learn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Dgraph?
What tools integrate with RedisGraph?
    No integrations found
    What are some alternatives to Dgraph and RedisGraph?
    Neo4j
    Neo4j stores data in nodes connected by directed, typed relationships with properties on both, also known as a Property Graph. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions.
    Titan
    Titan is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time.
    ArangoDB
    A distributed free and open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
    Cayley
    Cayley is an open-source graph inspired by the graph database behind Freebase and Google's Knowledge Graph. Its goal is to be a part of the developer's toolbox where Linked Data and graph-shaped data (semantic webs, social networks, etc) in general are concerned.
    GraphQL
    GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.
    See all alternatives