I use Neo4J and I'm curious what negative experiences you are referring to, and what benefit this might have over that. The biggest problem I foresee is querying and possibly data integrity. Querying since doing any kind of graph traversal would probably require writing hacks in software, and data integrity for much of the same reason. It may be easy to ensure a basic relationship but beyond that I would think it would be more difficult.
I was never able to use Neo4J as a first level database on a busy website. Simple traversals were just too slow. I ended up maintaining a simple in-memory structure on a pair of machines behind a load balancer with all writes going to sql and then propagated to the graph instances. I realise this introduces issues around read-your-writes etc, but good enough for my use case.
Comments
I use Neo4J and I'm curious what negative experiences you are referring to, and what benefit this might have over that. The biggest problem I foresee is querying and possibly data integrity. Querying since doing any kind of graph traversal would probably require writing hacks in software, and data integrity for much of the same reason. It may be easy to ensure a basic relationship but beyond that I would think it would be more difficult.
I was never able to use Neo4J as a first level database on a busy website. Simple traversals were just too slow. I ended up maintaining a simple in-memory structure on a pair of machines behind a load balancer with all writes going to sql and then propagated to the graph instances. I realise this introduces issues around read-your-writes etc, but good enough for my use case.
it's extremely memory hungry, and you need huge machines