4 ms·
Ask HN: Anyone use graph db in production/at scale? Like Neo4j or Arangodb?
Please share any experiences. I'm specifically evaluating Neo4j and my sandbox testing is going well so far but I'm curious to hear from people who have far more experience.
FWIW I have a graph use case implemented with pg where I'm running into issues with recursive queries, whereas the neo4j queries are far better performant and easier to reason.
- cpach 2y agoOut of curiosity, what’s your problem domain?
- moomoo11 2y agoParts. Like auto or industrial parts and being able to assign them to specific lots and customer specific groupings etc.
- nborwankar 2y agoThis is related to a classic relational database problem called “bill of materials problem” - suggest you Google that. Also look for book on Graphs and networks in SQL by Joe Celko where he goes into modeling graphs in SQL tables. Naive formulations will lead to deeply nested joins which balloon in computational cost.
- moomoo11 2y agoThanks for the rec. Yeah that’s the issues I’m running into. What makes it worse is that users can define their own nesting so building the dynamic queries in application code is becoming really difficult. Add on the problem of needing to comply with a rigid external API for those consumers. I’ve been setting up some test data in graph db and I feel like I can toss out my 1400 loc total to build the dynamic query and just have the client pass in the json of what they want. Current new implementation is about 200 loc. Personally I don’t mind if sql can do it or not. I care about being able to test easily, and detect and fix bugs without needing to bring out a whiteboard. Saving 1200 loc is already such a good feeling.
- goralph 2y agoWithout knowing the specifics of your data model I'd wager what you have is a data modelling problem not a graph problem. Maybe start with that? There's a reason these graph DBs are esoteric. They're fun & cool to use but there's not a lot of problems they can solve better than a relational DB.
- throwaway38375 2y agoWorked at a place where the lead engineer was adamant a graph database was the solution. After two years of trying to get it launched, the project failed spectacularly. Another team got given the rewrite and build it in six months using MySQL.