Need advice about which tool to choose?Ask the StackShare community!
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.
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.
- Is a graph database the right choice, or can we manage with RDBMS?
- If RDBMS, which RDMS, which feature, or which approach could make this manageable or sustainable
- 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.

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.
Pros of Neo4j
- Cypher – graph query language70
- Great graphdb61
- Open source33
- Rest api31
- High-Performance Native API27
- ACID24
- Easy setup21
- Great support17
- Clustering11
- Hot Backups9
- Great Web Admin UI8
- Mature7
- Powerful, flexible data model7
- Embeddable6
- Easy to Use and Model5
- Best Graphdb4
- Highly-available4
- Great onboarding process2
- It's awesome, I wanted to try it2
- Used by Crunchbase2
- Great query language and built in data browser2
Pros of OrientDB
- Great graphdb4
- Great support2
- Open source2
- Multi-Model/Paradigm1
- ACID1
- Highly-available1
- Performance1
- Embeddable1
- Rest api1
Sign up to add or upvote prosMake informed product decisions
Cons of Neo4j
- Comparably slow9
- Can't store a vertex as JSON4
- Doesn't have a managed cloud service at low cost1
Cons of OrientDB
- Unstable4