collectionsgraph-databasesedgesdocument-databasenosql

NoSQL database design: graph, documents, edges..?


I am trying to design a NoSQL database for the first time and I am confused about some things.

I can create collections that contains documents and also collections that contains edges. On the other hand I can create graphs that connects documents through edges.

My idea was to connect the different collections through edges (I don't know if there are other ways for connecting different collections).

So I don't know if I should build my database as a graph or just as collections (of type document) and collections (of type edge).

The documents within my collections contains lots of objects and lists, and when I search for graphs database examples I usually see that Nodes within a graph contains just few information (such as name, adge, city), so I don't know then if creating a graph with complex documents is a good idea. I need the graph because I want to do a transversal such as friend of,friend of, friend of...


Solution

  • Finally I am using documents and edges without building graphs as I saw that ArangoDB let me do traversals without having any graph. See https://docs.arangodb.com/3.11/aql/graphs/traversals/#working-with-collection-sets