Graph databases provide an efficient representation of data with records that have inter-relationships. Typical examples are your social network friend list, LinkedIn contacts, Netflix movie subscribers. By leveraging optimized algorithms for searching on tree-based/graph data structures, graph databases can locate information in a novel manner relative to other NoSQL solutions. In such a structure, discrete information and properties are represented as leaves, edges, and nodes.
The following image shows an atypical representation of a network that can be queried to discover or find complex inter-relationships using a graph database. In practice, production graph databases contain millions of nodes:
Although they are not as prevalent as other types of NoSQL database, graph-based platforms are used for business-critical areas. For instance, credit card companies use graph databases to find new products that an individual cardholder may be interested in by querying across millions of datapoints to assess purchasing behavior of other cardholders with similar purchasing patterns. Social network websites use graph databases to compute similarity scores, provide friend suggestions, and other related metrics.
Well-known graph databases include the following:
Open source |
Commercial |
Apache Giraph |
Datastax Enterprise Graph |
Neo4j |
Teradata Aster |
JanusGraph |
Oracle Spatial and Graph |
Apache Ignite |