What is a graph database?

Looking at the parameters of the NoSQL built-in database written in Java , graph databases appear. What is a graph database (especially unlike a key-value repository and a document-oriented database), and when will I use one (and when not)?

+4
source share
3 answers

I learned a little about them at school (long time ago). Relational not yet completely captured the world, but it was close, so the graph database got a superficial mention. IIRC they were pretty much dead at the time. I'm not sure how informative it really will be, but I will post it there if it helps someone.

Basically, if what I remember is true, the graph database is essentially a graph. You extract data (nodes) from the graph, and then, to find the relevant information, you move links (edges) to the associated data in the graph structure.

Apart from the obvious case where your data is graphical, and it may be faster / more natural to use, I cannot recall any advantages. I don’t remember any of the shortcomings, but I would suggest that it might not work well with those things that relational databases do (for example, using large sets of tuples).

+1
source

Several sources available to answer the “what” question, including this:

http://www.infinitegraph.com/what-is-a-graph-database.html

When should you use a graph database?

If your data contains a lot of many-to-many relationships, if recursive self-connections are too expensive or restrict your application and scaling, and / or your main task is to quickly find the connections, patterns and relationships between the objects in your data.

+1
source

Graphical databases are useful in scenarios where the information is intrinsically graphic in nature, such as social networks, bibliographic databases such as Wikipedia, fraud detection, media analysis, recommendations, analysis of biological networks ... In these scenarios, it is unlikely to get only a list of results, but a set of objects that satisfy a given constraint.

Graphical databases are useful because:

Relationships between entities are implicit in the model They are more flexible to manage unknown or dynamic schemas Favor structural and navigational queries They are more efficient solving network operations 
0
source

Source: https://habr.com/ru/post/1389387/


All Articles