Hey there people, I have a few questions regarding neo4j. Your experience could also be very useful to me here @dfox.

1. Is neo4j good for storing user data, like password hashes, etc.. In addition to the regular relationships with other components of the ecosystem

2. Is neo4j good enough to accommodate a really large number of users..

3. Does DevRant use a dual database, like user info in Mongo and relationships like comments and ++ on neo4j or is it like everything on neo4j

For q.3, if you're not @dfox then just provide an idea of how you would handle the situation.

  • 1
  • 0
    Neo4j is just the graph model, if you want multi-model then Arango is what you need.
  • 1
    @nblackburn well it doesn't really matter, could do neo4j+Mongo...
    My question is about the use case scenario.
    However arango is definitely a nice alternative
  • 1
    @TheAnimatrix it does depending on your use case.

    Graph databases have their place like relational and nosql databases do and neither is a catch-all use case.

    The only question that holds any value is 'do you need a graph database to solve your problems?' as all of them are scalable and can do what you have asked.
  • 1
    @nblackburn well not exactly , i haven't provided the details here of my use-case . After quite a while with RDBMS , Doc-store and GraphDB.. the latter has worked out better for me.
    My question is along the lines of , should i manage the user-info system on neo4j too since it doesn't exactly make use of any graph-architecture.
    This is why i wanted output on how devRant does it ... whether or not it uses a single database .
    I definitely see two databases doing really well , however if one is enough then I don't mind sticking to a single DB .
  • 5
    @TheAnimatrix we store all of our data in Neo4j. It's generally really good for large amounts of data and it's fine for storing user info which obviously we do.

    For our base interactions, like commenting, voting, etc. the graph model is really good. Like any database though, you need to think about the model and make sure it's optimized.

    Lastly, while we use Neo4j for almost all of our queries and features, we use ElasticSearch for searching. Neo4j or any graph database really isn't meant to be used for heavy text searching.

    Like @nblackburn says, it also depends on what you're looking to build. Graphs are generally really good for connected data. For data that isn't connected, they might not be the best thing to use.
  • 2
    @dfox thanks, that helped me a lot! Just got approved for the startup program to the neo4j enterprise edition. Also, what I'm building revolves mostly around e commerce however like you said neo4j's relationships make it really easy to make users engage in ratings, comments, etc.on nodes like a product in my case.

    I'd have to thank you guys for this one, had no clue what graph dB was until I landed on your about page a few months ago
Add Comment