Live data from Hacker News

Build your next app with a graph database

dgraph.io

21–30 of 58 posts

Re: Build your next app with a graph database

#21
post #6

It's a shame that almost no one knows or uses Versant OODBMS (object-oriented database management system). As the name suggest it's object oriented and queries return graphs of objects. It's heavily multi-threaded and has been around since 1989 (iirc). The only big downside (besides being proprietary) is that it's almost impossible to scale out (horizontally). But it scales enormously well vertically (throw resources…

Another case of less known but powerful tool - Allegro Graph.

An RDF triple store, with advanced security, and most importantly, on-line materialization and application of schemas/ontologies.

Re: Build your next app with a graph database

#22
post #18

From the article: "Relational databases: a software engineering fail ... That you were taught relational databases at all is an accident. It's simply that they are an early tech that became widely used, so your teacher knows about them, and, importantly, that they are a dream to teach." What. Really?

Is this really so hard to believe? Lots of things that are "Default" are just that way for historic purposes. One example, and I say this as someone who's generally a fan of the language, would be Java - it's taught in so many schools, because it's taught in so many schools.

Everyone says things like "You don't need a graphdb" because their default assumption is that there is a cost relative to rdbms, that's the bias of knowing rdbms. The "you don't need X" is one of the most common tropes, I read those words roughly every day on HN.

As a user of a graph database I'm quite pleased with the experience. I can model things extremely naturally, and relationships are dead simple to express.

Did I need a graph database? No, obviously, I could have used any database, but a graph matched my requirements.

Re: Build your next app with a graph database

#25
I'm currently on my first project involving a graph database . Dgraph coincidentally, and I somewhat like the product.

But this is a horrible article that would immediately leave a bad taste in my mouth if I were researching the product.

It boils down to a shallow dismissal of relational databases that does not have much more substance than "Relational dbs are old and bad! Graphs are awesome because relations and queries!".

Graph databases are often immature, don't enforce schemas, have little tooling, poorly understood or hard to tune performance characteristics, are somewhat messy when it comes to query languages (OpenCipher? weird GraphQL dialect? homegrown solution X?). The list goes on.

A colleague who is an expert in this domain recommended to use (current) graph DBs only if you care more about the are relationships than the data. And probably only for data that you can lose, eg as a secondary storage.

Criticizing the relative awkwardness of relations in relational DBs is valid, and has both historical and practical reasons.

But the author wrote it himself: relational DBs are the first choice for developers. Not by accident, or because the internet told me to. But because they are excellent, mature, well understood, versatile products that can handle most of a regular applications requirements very well.

No, you should not throw away every database and write all your future applications with DGraph. You may investigate if a graph database fits your specific use case, if the product is mature enough to rely on it, and if the added complexity (from devs to ops) is worth it.

Vendors should promote the strength of their products, but also be clear about when it might not be a good fit.

This kind of writing does not inspire trust in the quality of DGraph, rather the opposite.

Re: Build your next app with a graph database

#27
i liked it, but i do work with bigger data sets... make it easy? orm... if its active record or even datamapper just try throwing 100k new rows in a table every day, and then the joins... bah, skip the orm and start working with any sets that add couple hundres of thousands rows every day and you will very quickly see the aches of using sql... and the price of hardware you need to run it smoothly... and then if they related and youre using locks... probably a lot ppl have same feelings as me

Re: Build your next app with a graph database

#29

I have never used a graph database but I can say there is one truth in the article: I find I have to stop and structure my app around the tables I need, and have had to stop and reorganize my code and data to fit a proper table structure when I realize my existing table structure doesn't make sense or hits the database too hard. I have no idea if graph databases are the answer to that problem, but I do get tired of b…

You probably just want any NO-SQL database then, not necessarily a Graph DB. MongoDB or Elasticsearch should fit your needs. The thing that is great about relational databases is data integrity, the thing that sucks about relational databases is data integrity. NO-SQL is fantastic, but if you want you data to adhere to ACID then there is simply no substitute for a relational database.

Re: Build your next app with a graph database

#30
post #18

From the article: "Relational databases: a software engineering fail ... That you were taught relational databases at all is an accident. It's simply that they are an early tech that became widely used, so your teacher knows about them, and, importantly, that they are a dream to teach." What. Really?

Is this really so hard to believe? Lots of things that are "Default" are just that way for historic purposes. One example, and I say this as someone who's generally a fan of the language, would be Java - it's taught in so many schools, because it's taught in so many schools . Everyone says things like "You don't need a graphdb" because their default assumption is that there is a cost relative to rdbms, that's the bia…

Historical entrenchment is not a chance occurrence.
Post reply on HN