Reputation: 12289
We have a system that is a hybrid of Neo and Postgres. We tried to store data using the technology that was the most appropriate.
Our Users table ended up in Postgres, as did the supporting RBAC-related tables.
Users can be associated with certain Neo nodes. When we want to know about a node's user, our models have to fetch from Postgres - there is no Neo query that can fetch the User, of course.
This made perfect sense to us when we did it. Now we have 6 months of Neo under our belts and I am getting the idea we made a mistake.
I remember us saying, "There could be a thousand users!" It never occurred to us at the time that we'd be managing millions of Neo nodes... but it's coming. A thousand of anything isn't a problem.
With more understanding, it's clear to me that the user/RBAC was a Neo slam-dunk.
Please offer me some guidance on when to use a relational database versus Neo.
Upvotes: 1
Views: 68
Reputation: 41676
This is a very generic question. As you already pointed out it really depends on your use-cases and context. In general both databases are general purpose but shine for certain applications.
All JOIN heavy, tree, graph, path-matching and schema-free requirements will be easier and faster with Neo4j.
I wouldn't use Neo4j for:
Disclaimer: I work for Neo4j :)
Upvotes: 1