HACKER Q&A
📣 burlesona

Experience Running Neo4j in Production?


I’ve been working on an application which has “social network” shaped data. I’ve been using Postgres to get started because I know it inside and out, but the queries are getting increasingly complicated and difficult to reason about as the data model grows.

I’ve heard about graph databases but never used one in prod before. I recently grabbed a book on Neo4j and then tested migrating my data into it. I have to say, I’m impressed by how much easier and faster it is to construct many of the queries I’m interested in using Cypher.

I have no experience operationalizing Neo4j, and a lot of questions…

Are there any pitfalls I should be wary of? If anyone has experience with both running Neo and Postgres in prod, what are the trade offs? Does it make sense to convert all the application data into Neo, or try to run it side by side with Postgres? if you go with two data stores, where should you draw the line between them?

Thanks for any experience or input anyone can share. I’ve been googling on this for a while and haven’t found many good resources.


  👤 aeberhart Accepted Answer ✓
A question that can only be answered with "it depends..." :)

You might be able to simplify some of the queries using recursive SQL: https://en.wikipedia.org/wiki/Hierarchical_and_recursive_que...

Neo4J is a very popular DB (ranks #18 here https://db-engines.com/en/ranking) so should be mature.

Side by side would allow you to formulate queries depending on the use case, but of course this comes with quite some cost (keeping data in sync, having another system to take care of).

Neo4J allows you to store properties, so you certainly could model all your info (also the relational aspects) in it.

Hope this helps!


👤 jimmySixDOF
For what its worth these guys are just launching a personal knowledge management App using Neo maybe you can touch base and see how it went for them.

https://rea.ch

Good luck with what you are up to !