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

Neo4j

975
1.1K
+ 1
340
OrientDB

59
79
+ 1
14
Add tool

Neo4j vs OrientDB: What are the differences?

Developers describe Neo4j as "The world’s leading Graph Database". 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. On the other hand, OrientDB is detailed as "An open source NoSQL database management system". 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.

Neo4j and OrientDB are primarily classified as "Graph Databases" and "Databases" tools respectively.

Neo4j is an open source tool with 6.73K GitHub stars and 1.65K GitHub forks. Here's a link to Neo4j's open source repository on GitHub.

Medium, Movielala, and Hinge are some of the popular companies that use Neo4j, whereas OrientDB is used by Acadar, Bright Power, and GittiGidiyor. Neo4j has a broader approval, being mentioned in 154 company stacks & 277 developers stacks; compared to OrientDB, which is listed in 10 company stacks and 5 developer stacks.

Advice on Neo4j and OrientDB
Needs advice
on
OrientDBOrientDBNeo4jNeo4j
and
Azure Cosmos DBAzure Cosmos DB

We have an in-house build experiment management system. We produce samples as input to the next step, which then could produce 1 sample(1-1) and many samples (1 - many). There are many steps like this. So far, we are tracking genealogy (limited tracking) in the MySQL database, which is becoming hard to trace back to the original material or sample(I can give more details if required). So, we are considering a Graph database. I am requesting advice from the experts.

  1. Is a graph database the right choice, or can we manage with RDBMS?
  2. If RDBMS, which RDMS, which feature, or which approach could make this manageable or sustainable
  3. If Graph database(Neo4j, OrientDB, Azure Cosmos DB, Amazon Neptune, ArangoDB), which one is good, and what are the best practices?

I am sorry that this might be a loaded question.

See more
Replies (1)
Recommends
ArangoDBArangoDB

You have not given much detail about the data generated, the depth of such a graph, and the access patterns (queries). However, it is very easy to track all samples and materials if you traverse this graph using a graph database. Here you can use any of the databases mentioned. OrientDB and ArangoDB are also multi-model databases where you can still query the data in a relational way using joins - you retain full flexibility.

In SQL, you can use Common Table Expressions (CTEs) and use them to write a recursive query that reads all parent nodes of a tree.

I would recommend ArangoDB if your samples also have disparate or nested attributes so that the document model (JSON) fits, and you have many complex graph queries that should be performed as efficiently as possible. If not - stay with an RDBMS.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Neo4j
Pros of OrientDB
  • 68
    Cypher – graph query language
  • 58
    Great graphdb
  • 31
    Open source
  • 29
    Rest api
  • 27
    High-Performance Native API
  • 24
    ACID
  • 20
    Easy setup
  • 15
    Great support
  • 10
    Clustering
  • 9
    Hot Backups
  • 8
    Great Web Admin UI
  • 7
    Powerful, flexible data model
  • 7
    Mature
  • 6
    Embeddable
  • 5
    Easy to Use and Model
  • 4
    Best Graphdb
  • 4
    Highly-available
  • 2
    It's awesome, I wanted to try it
  • 2
    Great onboarding process
  • 2
    Great query language and built in data browser
  • 2
    Used by Crunchbase
  • 4
    Great graphdb
  • 2
    Great support
  • 2
    Open source
  • 1
    ACID
  • 1
    Embeddable
  • 1
    Highly-available
  • 1
    Performance
  • 1
    Rest api
  • 1
    Multi-Model/Paradigm

Sign up to add or upvote prosMake informed product decisions

Cons of Neo4j
Cons of OrientDB
  • 4
    Comparably slow
  • 4
    Can't store a vertex as JSON
  • 1
    Doesn't have a managed cloud service at low cost
  • 3
    Unstable

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

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

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

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

What companies use Neo4j?
What companies use OrientDB?
See which teams inside your own company are using Neo4j or OrientDB.
Sign up for Private StackShareLearn More

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

What tools integrate with Neo4j?
What tools integrate with OrientDB?
    No integrations found

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

    Blog Posts

    What are some alternatives to Neo4j and OrientDB?
    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.
    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.
    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.
    JanusGraph
    It 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. It is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time.
    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.
    See all alternatives