The global population of data is rapidly growing and organizations are finding themselves challenged with how to store and manage data in a way that quickly leads to tap into actionable data. Today’s business decisions demand more complex data models that precisely represent the characteristics of entities and how these entities relate to one another in the physical world. We have found that graph databases lay the foundation for a new and interesting way of modeling data that feels more natural and intuitive, allowing you to relate data points with one another in ways that aren’t possible or would be costly with the traditional relational approach.
With the emergence of concepts like the Internet of Things and Customer 360 “Digital Transformation,” understanding how a graph database could benefit an organization is essential to maintaining a data strategy relevant to the needs of today’s businesses and thier customers.
- Relationships are more important than the data points themselves
- Presence of changing business requirements which result in unpredictable needs to alter a data model
- The data model will scale at a significant rate
- Fraud detection for data input and output is important to maintaining data integrity
- Hierarchical relationships exist between data points
The Traditional Relational Approach
In the relational data model, data is organized into columnar tables as a collection of records. Tables represent entity types, e.g. “Customer,” “Address,” or “Product.” Tables are linked together by primary keys and foreign keys, which are unique identifiers for the records. If you have keyed data in one table, you can link it to its corresponding foreign key in another table to combine the data together. These relationships are great for data modeling, but can be very computationally expensive when dealing with large amounts of data, since you must join these keys together when you want to access these relationships in your database.
The Graph Database Approach
To model data in a graph database, it’s as simple as connecting the dots. Graph databases have entities called Vertices and relationships called Edges. Vertices are connected to one another (including themselves, if necessary) with Edges. Attributes for entities in the graph are called Property Keys. They’re universally defined characteristics that can be attributed to both Edges and Vertices throughout the graph. For example, a simple relationship would be “Customer” and “Product” vertices, connected by a “Purchased” edge. We could then use this relationship to find out easily which products were not purchased by the customer, or which products were purchased by customers that also purchased another product. This use case is similar to a simple recommendation engine, something that graph databases are very good at. Querying a graph database is not unlike querying a relational database in SQL. With powerful languages like Gremlin and Cypher, finding information in the graph can be done without aggregation of Vertices (i.e. ‘joins’), streamlining the process of querying.
Where do you go from here?
Sometimes, the relationships between data points matter more than the data points themselves. While relational data modeling has been the backbone of the business intelligence world since the 1970’s, the explosion of available data within the last decade has warranted the development of new techniques and technologies to model data. Assessing your data modeling and management needs requires asking the right questions and setting aside time and resources to determine the right approach. Take the opportunity to evaluate how you currently manage your data, thinking through things like scalability, dependence on changing relationships, hierarchies within your data, etc. to determine if a graph database could be the right move.
Still unsure? West Monroe Partners Advanced Analytics team could be the right partner for you. We provide an uncommon blend of deep technologists and business consultants who are business intelligence experts. Our approaches are tailored uniquely to provide sustainable solutions across various industries for our clients. Let us know how we can help.