There’s little argument that today’s cloud applications are intensely multi-faceted where data management is concerned. The data flowing through these cloud applications is complex, ever-changing, large in volume, and highly connected. The number of data relationships – coupled with the data distribution, scale, performance, volume, and uptime requirements of the application – are not a fit for a relational database.
These requirements, however, are addressed natively by a graph database that possesses scale-out and active-everywhere capabilities.
A graph database is used for storing, managing, and querying data that is complex and highly connected. Unlike most other ways of representing data, graphs are foundationally designed to express relatedness. Its design makes a graph database particularly well suited for exploring data to find commonalities and anomalies among large data volumes and unlocking the value contained in the data’s relationships. This allows graph databases to uncover patterns that are difficult to detect when using traditional representations, such as RDBMS tables. While an RDBMS may indicate that objects are connected, a graph database shows how objects are connected (Figure 1).
A graph database can solve a wide variety of business problems and is a better fit than other DBMSs, such as a relational or general NoSQL database, where certain use cases are concerned. The most common examples include the following:
Master Data Management
Many companies need to understand the data relationships across its multiple business units in order to create a holistic view of its customers. A graph model is the best way to consolidate that disparate data for use by both BI tools and other business applications. For example, a hospital group might need to build a system that consolidates patient data and records as well as health care provider data in a centralized MDM system to which all hospitals are connected. This combination of data results in a complex graph of patients, visits, facilities, and medical professionals.
Other examples include product catalogs, which often have complex hierarchical structures and are overlaid by taxonomies to capture composition or other relationships.
Another interesting facet to this is customer data and the access rights, entitlements, etc., to that data. Many companies struggle with their authentication systems and understanding the inter-workings of their data-protection paradigm due to the increasing complexity of data.
Recommendation and Personalization
Almost all enterprises need to understand how they can quickly influence customers to buy their products and recommend them to others. When used properly, graph analysis is the most effective tool for handling recommendation and personalization tasks in an application and making key business decisions from the value found in the data.
For example, every web retailer needs to recommend products to their customers based on the customer profile as well as previous interactions and purchases. An important point to note is that, to be successful, these actions must be based on the most recent actions taken on the site in the current browsing session, which all can be integrated into one graph. A graph is well suited to help recommend products, next actions, or advertising based on a user’s information, past behavior, and interactions.
IoT, Asset Management and Networking
The Internet of things (IoT) is another domain that is replete with graph-sized problems. IoT use cases most commonly involve devices or machines that generate time-series information such as event and status data.
A graph is a good model for managing network assets (with their properties or configurations) and how they relate to each other over time. A graph can be used to manage and monitor the network, optimize resource allocation, detect and fix problems, and more.
Security Management and Fraud Detection
In a complex and highly interrelated network of users, entities, transactions, events, and interactions, a graph database can help determine which entity, transaction, or interaction is fraudulent, poses a security risk, or is a compliance concern.
A graph database is a good fit in this domain because most transactions/interactions/etc., cannot be deemed fraudulent or out of security compliance at face value. Such determinations can be made only in the larger context in which they occur (e.g., previous transactions, past customer behavior, etc.).
For these use cases and others, a graph database becomes an important strategic tool for understanding important facets of a company’s business and gaining an edge over competitors. This might explain why graph databases have seen over a 500 percent rise in popularity over the past three years.
Robin Schumacher is the Vice President of Products at DataStax. Robin has spent the last 20 years working with enterprise databases and leading product management teams. He started and led the product management team at MySQL for three years before they were bought by Sun (the largest open-source acquisition in history), and then by Oracle. He also started and led the product management team at Embarcadero Technologies, which was the #1 IPO in 2000. Robin is the author of three database performance books and frequent speaker at industry events. Robin holds BS, MA, and Ph.D. degrees from various universities.
Subscribe to Data Informed for the latest information and news on big data and analytics for the enterprise, plus get instant access to more than 20 eBooks.