number of 'graphs' in a ArangoDB database

别来无恙 提交于 2019-12-13 01:24:50

问题


I am exploring Arangodb and I am not sure I understand correctly how to use the graph concept in ArangoDb.

Let's say I am modelling a social network. Should I create a single graph for the whole social network or should I create a graph for every person and its connections ? I've got the feeling I should use a single graph... But is there any performance/fonctionality issue related to that choice ?

Maybe the underlying question is this: should I consider the graph concept in arangodb as a technical or as a business-related concept ?

Thanks


回答1:


You should use not use a graph per person. The first quick answer would be to use a single graph.

In general, I think you should treat the graph concept as a technical concept. Having said that, quite often, a (mathematical) graph models a relationship arising from business very naturally. Thus, the technical concept graph in a graph database maps very well to the business logic.

A social network is one of the prime examples. Typical questions here are "find the friends of a user?", "find the friends of the friends of a user?" or "what is the shortest path from person A to person B?". A graph database will be most useful for questions involving an a priori unknown path length, like for example in the shortest path example.

Coming back to the original question: You should start by looking at the queries you will have about your data. You then want to make it, so that these queries map conveniently onto the standard graph operations (or indeed other queries) your data store can answer. This then tells you what kind of information should be in the same graph, and which bits belong in separate graphs.

In your original use case of a social network, I would assume that you want to run queries involving chains of friendship-relations, so the edges in these chains must be in the same graph. However, in more complicated cases it is for example conceivable that you have a "friendship" graph and a "follows" graph, both using different edges but the same vertices. In that case you might have two graphs for your social network.



来源:https://stackoverflow.com/questions/30868134/number-of-graphs-in-a-arangodb-database

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!