Live data from Hacker News

Ask HN: If you've used a graph database, would you use it again?

news.ycombinator.com

11–20 of 84 posts

Re: Ask HN: If you've used a graph database, would you use it again?

#11

I wrote a driver for MongoDB in 2010, but then moved onto Neo4j in late 2013. I liked Neo4j quite a bit, it could handle all the sensor/IoT data we could throw at it. Back then it had (and I'm sure still does) a beautiful interactive data visualization dashboard, great Cypher tutorials, and more. Neo4j is a good database. I went to write a database driver for it, and found it extraordinarily difficult. I knew it woul…

What’s gun, you mean gnu open source ?

their project name is gun: https://github.com/amark/gun

Re: Ask HN: If you've used a graph database, would you use it again?

#12
I started using Neo4j 8 years ago after a long time as a relational database developer. I needed it for a project building a LinkedIn clone with skills (at the time LinkedIn didn't have skills). I was going to need a massive join table of user-skill-user and decided it was best in a graph. I built a ruby gem "neography" as a Neo4j driver and became an open source contributor. Later Neo4j contracted me to build a rules engine in a week for one of their clients. That got me a job as a Sales Engineer at Neo4j. 100+ blog posts, 200+ github repos later, lots of travel, and many wins, I still love the job, and still love the database.

Re: Ask HN: If you've used a graph database, would you use it again?

#13

I started using Neo4j 8 years ago after a long time as a relational database developer. I needed it for a project building a LinkedIn clone with skills (at the time LinkedIn didn't have skills). I was going to need a massive join table of user-skill-user and decided it was best in a graph. I built a ruby gem "neography" as a Neo4j driver and became an open source contributor. Later Neo4j contracted me to build a rule…

I have been looking at learning graph database architecture recently and your blog posts keep coming. Great stuff! Keep it coming

Re: Ask HN: If you've used a graph database, would you use it again?

#14
post #9

Earlier quoted context omitted.

What’s gun, you mean gnu open source ?

Likely they're referring to https://github.com/amark/gun , which they refer to earlier. amark is Mark Nadal.

Thanks, yes (you and xumingmingv) are correct.

Hey, I noticed your nice resources in your profile - particularly Haidt. For my wife's PhD, she worked with Baumeister, a colleague of Haidt. Would love to hear more about your interest in civil discourse and other such things! Shoot me an email?

Re: Ask HN: If you've used a graph database, would you use it again?

#15
post #9

Earlier quoted context omitted.

Likely they're referring to https://github.com/amark/gun , which they refer to earlier. amark is Mark Nadal.

Thanks, yes (you and xumingmingv) are correct. Hey, I noticed your nice resources in your profile - particularly Haidt. For my wife's PhD, she worked with Baumeister, a colleague of Haidt. Would love to hear more about your interest in civil discourse and other such things! Shoot me an email?

Done!

Re: Ask HN: If you've used a graph database, would you use it again?

#16
post #3

Interesting question. I think it is critical to point out that, the underlying principles for a graph database is different from RDBMS, because the operators in a graph database may not comply to relational algebra. Consider the following case: Client A issues a query -- starting from a vertex, conduct bounded closure search, giving every visited vertex a mark (coloring, or lexical flag, whatever you would expect fro…

How mature is GE? Who's using it in production?

Re: Ask HN: If you've used a graph database, would you use it again?

#17
Our app models directed graphs in Postgres with a closure table (the transitive edges between nodes).

The advantages are that it's just sql, has good performance, and we can query the graph using relational logic rather than n+1 traversal. The trade off is space (the closure table has the potential to be huge).

So it depends on the size of the data set. Part of me wishes we'd built something that's easier to partition, but for now that's a future concern.

Re: Ask HN: If you've used a graph database, would you use it again?

#18
post #3

Interesting question. I think it is critical to point out that, the underlying principles for a graph database is different from RDBMS, because the operators in a graph database may not comply to relational algebra. Consider the following case: Client A issues a query -- starting from a vertex, conduct bounded closure search, giving every visited vertex a mark (coloring, or lexical flag, whatever you would expect fro…

Transaction isolation is a no-brainer, so I don't think your example holds. Also, your example is not related to the algebra but to isolation.

"Claiming ACID" what is ambiguous about that? Transaction support with different serialization levels, like other databases that offer it.

And Neo4j originally started b/c RDBMS was not able to execute the complex deep traversals needed in real time. Dedicated storage & query engine for graphs allow you to run statements quickly that would otherwise take too long to execute.

Regarding the data model, the property-graph model is much closer to the object model but with richer relationships, it doesn't suffer from the object-rdbms impedance mismatch and is better suited to express real-world domains & scenarios. It also represents semantic relevant relationships as first class citizens in the database, allowing for proper information representation and much faster retrieval.

Disclaimer: I work with/for Neo4j, for 8+ years and still love it.

Re: Ask HN: If you've used a graph database, would you use it again?

#19

I wrote a driver for MongoDB in 2010, but then moved onto Neo4j in late 2013. I liked Neo4j quite a bit, it could handle all the sensor/IoT data we could throw at it. Back then it had (and I'm sure still does) a beautiful interactive data visualization dashboard, great Cypher tutorials, and more. Neo4j is a good database. I went to write a database driver for it, and found it extraordinarily difficult. I knew it woul…

Great pitch, I have been on the lookout for a proper offline-first realtime data connection with some kind of conflict resolution. It seems to me like such a natural combination of functions, but I haven't come across any tool that has it all yet. Will definitely check this out!

Re: Ask HN: If you've used a graph database, would you use it again?

#20
post #3

Interesting question. I think it is critical to point out that, the underlying principles for a graph database is different from RDBMS, because the operators in a graph database may not comply to relational algebra. Consider the following case: Client A issues a query -- starting from a vertex, conduct bounded closure search, giving every visited vertex a mark (coloring, or lexical flag, whatever you would expect fro…

ACID is whatever you define. In a RDBMS you can make a query returning dirty data, or that data is partially saved if an error happens. Or you can roll it into a full ACID compliant query/transaction.

I think that in a graph database, the ACID property comes at a greater cost, but to me it's a tool I use as a secondary store, derived from the "truth" in the RDBMS. I use it to store the data more efficiently for queries and to query data in a discovering fashion that would significantly more complicated in the underlying RDBMS.

Post reply on HN