Graph Databases for Enterprises

Sep 10, 2019 min read

We have all heard about SQL databases and have used SQL Server, Oracle, MySQL, etc. for storing or modeling data. The SQL family of databases stores data in relational, tabular structures. With the advent of new channels of data generation and consumption, SQL databases sometimes don’t provide the most usable patterns for data storage and consumption — hence the rise of NoSQL databases.

NoSQL (also called Non-SQL, Not Only SQL, or Non-relational) databases come in multiple formats: document, key-value, graph, and column-family data models. This article talks about the graph model and how it can be used in a business context.

The Problem with Relational Models for Complex Relationships

When we look at entities in the real world, we notice that complex relationships occur between them. Every entity type is unique and has multiple possible relationships. Take a few entities from daily life: Person, Household Objects, Company, Location. Just these 4 entities result in a huge number of relationships:

  • Person owns an object (TV)
  • Person works at a company
  • Company produces an object
  • Person lives in a city
  • Person works in a city
  • Company is located in a city
  • Person is related to another person
  • Object is a part of another object

In a traditional relational model, getting insights from this data would require computing relationships in real time, causing challenges in managing complex relationships under its constraints.

How Graph Databases Solve This

Graph databases solve this problem by providing ways to model relationships in the database, making insights simple and easy. Graphs use relationships as first-class citizens and store the relations along with the data, using a graph modeling technique with vertices and edges.

  • Vertices/Nodes — Denote entities, such as a person, a place, or an event
  • Edges — Denote relationships between vertices (e.g., a person knows another person, a person lives at a location)
  • Properties — Detail information about vertices and edges; can be used to describe and filter objects (e.g., a vertex has name and age; an edge has a quantity or price)

Graph Database Model — Vertices, Edges, Properties

Enterprise Use Cases

Customer 360

By combining data about customers and their interactions with the organization — purchase orders, contracts, feedback, service contracts — you can develop personalized experiences, predict customer behavior, and get a 360-degree view of the customer.

Master Data Management

Customer 360 can be extended to mastering customers by understanding relationships, identifying potential hierarchies, and deduplicating customer records.

Recommendation Engines

Recommendations can be built by combining information about products, users, and user interactions (purchasing, browsing, rating). This is a very relatable use case in the retail industry.

Supply Chain Visibility

Supply chains are getting complex because of global sourcing and selling. Enterprises see complex relationships between suppliers, geographies, products, business units, and customers. Graph databases can model these relationships to achieve better supply chain visibility.