Tony Ennis
Tony Ennis

Reputation: 12289

Neo4J and relational databases

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

Answers (1)

Michael Hunger
Michael Hunger

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:

  • binary data
  • very high write volumes (> 100k to 1M updates / s)
  • many global number crunching queries in real-time

Disclaimer: I work for Neo4j :)

Upvotes: 1

Related Questions