
Ask HN: Orient DB vs. Neo4j - onecooldev24
What do you guys prefer OrientBD or Neo4j for enterprise level?
======
javadev80
2.5 years ago, we tried pretty much all the GraphDBs out there. We decided to
go with OrientDB (it was 2.0.something), but after only 3 months of POC, we
switched to Neo4j. Why? Because the documentation was poor and we found some
issues, so we couldn't trust OrientDB to be our primary DBMS.

With Neo4j everything was great at the beginning where we had 1 server only,
but when we switched to the Enterprise Edition for HA (special price for
startup, otherwise it would be unaffordable. Without the startup price it
would be around $100K per year for 3 servers, crazy!), it didn't scale for our
use case (primarily because of its master-slave architecture and other bugs
and limitations here and there).

Our use case is 50% read and 50% writes, we have seen that Neo4j is mostly
used as an Analytical database, so maybe with 100% reads it could be ok.

So on January 2017, we evaluated the new DataStax DSE, but it was really
unstable (we think it's still an alpha version, but for marketing reasons,
they pushed it as a stable GA). So we decided to give to OrientDB another
chance. We've wasted $20 on buying the only available book for OrientDB, but
it treats OrientDB as a Document database. After reading the OrientDB manual,
we converted our Cypher queries to the new OrientDB SQL MATCH (that is very
similar) and in less than 2 weeks our application was up & running with
OrientDB and 5 servers.

We found 3 minor issues the team resolved in a few days, we have another issue
that is still not fixed, but so far so good, we're happy in production with a
100% uptime in the last 4 months. I've seen OrientDB is much faster with
multiple servers. We decided to not use sharding with OrientDB for now because
it doesn't look mature enough, but maybe we will try it in 1y.

So my final advice is: Neo4j is very expensive, but it works very well for
read-only use cases. You can find a lot of tutorials, examples, books around
it. If you're a GraphDB rookie you should start with Neo4j, but pay attention
to the license or you'll end up paying Neo4j more than Oracle.

OrientDB cost much less than Neo4j (the Community Edition is free for any
purpose, but it doesn't have the non-stop incremental backup that we needed,
so we purchased the Enterprise). It's much faster in our use cases, but they
have less marketing people = less popular than Neo4j.

Only with 2.2.x, OrientDB reached a good level of stability and is perfect for
both read and read/write use cases. DataStax DSE will be a good product,
maybe, in 1-2 years, but for now, it's like a toy.

