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

ArangoDB

278
442
+ 1
192
Dgraph

126
219
+ 1
9
Add tool

ArangoDB vs Dgraph: What are the differences?

  1. 1. Query Language: ArangoDB uses a slightly modified version of SQL as its query language, allowing users with SQL experience to easily interact with the database. On the other hand, Dgraph uses a graph-based query language called GraphQL, which is optimized for querying graph data structures and offers more flexibility in terms of shaping the data returned.

  2. 2. Data Model: ArangoDB is a multi-model database, which means it supports multiple data models including document, key-value, and graph. This allows it to handle a wide range of use cases without requiring data duplication. Dgraph, on the other hand, is a graph database and focuses solely on managing graph data structures, providing more advanced features and optimizations specific to graph data.

  3. 3. Scalability and Distributed System: ArangoDB is designed to be a highly scalable distributed system, allowing horizontal scaling through sharding and replication. It provides built-in clustering and synchronization mechanisms, making it suitable for large-scale deployments. Dgraph, on the other hand, is built on a distributed architecture from the ground up, using a consensus algorithm called Raft for replicating and ensuring consistency across nodes. This makes it highly scalable and fault-tolerant, specifically tailored for distributed graph data.

  4. 4. Performance Optimization: ArangoDB focuses on providing high-performance execution of complex queries by utilizing various indexing techniques, including hash indexes, persistent indexes, and geo-spatial indexes. It also offers built-in caching mechanisms to improve query response times. Dgraph, on the other hand, optimizes performance by leveraging its native graph storage and traversal mechanisms. It uses a memory-mapped file-based storage for efficient storage and retrieval of graph data. It also employs caching and prefetching techniques to minimize disk I/O and speed up query execution.

  5. 5. Consistency Model: ArangoDB follows a strict ACID (Atomicity, Consistency, Isolation, Durability) consistency model, ensuring data integrity and correctness. It provides multi-document transactions and supports various isolation levels. Dgraph, on the other hand, provides a more relaxed consistency model known as eventual consistency. It favors availability and partition tolerance over strict consistency, allowing for higher scalability and fault tolerance at the expense of potential temporary inconsistencies.

  6. 6. Community and Ecosystem: ArangoDB has a larger and more established community, with extensive documentation, active community forums, and a wide range of third-party integrations and tools. It also has a well-defined roadmap and regular releases. Dgraph, being a relatively newer database, has a smaller but growing community. It offers extensive documentation and actively maintains its open-source repository, but its ecosystem is still evolving.

In Summary, ArangoDB and Dgraph differ in terms of query language, data model, scalability, performance optimization, consistency model, and community/ecosystem. ArangoDB is a multi-model database with a flexible query language, while Dgraph is a specialized graph database optimized for graph data structures. ArangoDB focuses on providing high-performance execution of complex queries, while Dgraph leverages its native graph storage and traversal mechanisms. The consistency models also vary, with ArangoDB offering strict ACID consistency and Dgraph favoring eventual consistency. Finally, ArangoDB has a larger and more established community and ecosystem compared to Dgraph, although both databases have documentation and active development.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of ArangoDB
Pros of Dgraph
  • 37
    Grahps and documents in one DB
  • 26
    Intuitive and rich query language
  • 25
    Good documentation
  • 25
    Open source
  • 21
    Joins for collections
  • 15
    Foxx is great platform
  • 14
    Great out of the box web interface with API playground
  • 6
    Good driver support
  • 6
    Low maintenance efforts
  • 6
    Clustering
  • 5
    Easy microservice creation with foxx
  • 4
    You can write true backendless apps
  • 2
    Managed solution available
  • 0
    Performance
  • 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

Sign up to add or upvote prosMake informed product decisions

Cons of ArangoDB
Cons of Dgraph
  • 3
    Web ui has still room for improvement
  • 2
    No support for blueprints standard, using custom AQL
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is 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.

    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.

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

    What companies use ArangoDB?
    What companies use Dgraph?
    See which teams inside your own company are using ArangoDB or Dgraph.
    Sign up for StackShare EnterpriseLearn More

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

    What tools integrate with ArangoDB?
    What tools integrate with Dgraph?
      No integrations found

      Sign up to get full access to all the tool integrationsMake informed product decisions

      What are some alternatives to ArangoDB and Dgraph?
      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.
      MongoDB
      MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
      PostgreSQL
      PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.
      Cassandra
      Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
      OrientDB
      It is an open source NoSQL database management system written in Java. It is a Multi-model database, supporting graph, document, key/value, and object models, but the relationships are managed as in graph databases with direct connections between records.
      See all alternatives