Graph Databases

Graph database uses graph structures with nodes, edges, and properties to represent and store data.Compared with relational databases, graph databases are often faster for associative data sets, and map more directly to the structure of object-oriented applications. They can scale more naturally to large data sets as they do not typically require expensive join operations. As they depend less on a rigid schema, they are more suitable to manage ad-hoc and changing data with evolving schema. Conversely, relational databases are typically faster at performing the same operation on large numbers of data elements.

Graph databases are a powerful tool for graph-like queries, for example computing the shortest path between two nodes in the graph. Other graph-like queries can be performed over a graph database in a natural way (for example graph’s diameter computations or community detection).

When should you use a graph database?

If your data contains a lot of many-to-many relationships, if recursive self-joins are too costly or limiting to your application and scaling needs, and/or your primary objective is quickly finding connections, patterns and relationships between the objects within lots of data, you will find graph databases, and particularly InfiniteGraph, superior to all other technologies – including relational databases, key-value, column or document databases.