By Objectivity, Inc.
Data is Becoming More Connected
Over the last 50 years our approach to databases has been evolving. This evolution has been focused on solving one problem: Moving from data and information to knowledge, insight, and wisdom.
Drawing by David Somerville and is based upon a version done by Hugh McLeod.
We have no shortage of data and we’ve gotten pretty good at creating information from data we have. But, many organizations continue to struggle to turn their data into knowledge, insight, and wisdom. One of the reasons for this may very well be that the move to knowledge, insight, and wisdom requires us to connect our data and information together in new and complex ways and then to interpret not only the data, but the connections between the data in new and complex ways.
Graph databases are the latest technologies that are being used help organizations create knowledge, insight, and wisdom from their data and information.
What is a Graph Database?
Where a relational database stores data in tables of rows and columns, a graph database stores data simply as nodes and edges.
Nodes are data items like a person, place, or thing and edges represent the relationships between the nodes. Nodes have a type and a set of attributes: A node might be of type “Person” and have attributes such as first name, last name, and birthdate. Edges also have a type such as “Knows”: Two people who know each other would be represented by two different nodes of type “Person” with an edge of type “Knows” connecting them. Edges can also have attributes. A “Knows” edge might contain an attribute, metOn, that indicates the date the two people met.
The above represents a very basic structure to give you an idea of the concept. With nodes and edges, you can represent just about any kind of connected data. This is one of the key advantages of graph databases because it allows you to model the complexities of the real world with very simple node-edge constructs.
Graph Database Queries
One of the most powerful features of graph databases is their support for navigational queries. A navigational query describes a pattern of connected nodes and edges. When you submit a navigational query, the graph database will find all “paths” of connected data that match the pattern that you’ve described in your query. The navigational query syntax is very simple and easy to learn, but can be used to describe incredibly complex graph data patterns. Navigational queries are highly performant, even when retrieving paths that are more than 10 nodes and edges in length.
To achieve a similar connected-data retrieval using SQL on a relational database would entail a query that is considerably more complex and, if it could be done at all, would require considerably more computing resources. This is one of the primary reasons that graph databases are overtaking relational databases for connected data.
Graph Database Use-Cases
Because graph databases excel in their ability to handle highly connected data, they are being adopted for a wide array of complex use-cases. Many of the examples below have been implemented using other database technologies including relational databases and object-oriented databases, but are now being re-implemented using graph database technologies because of the improved performance of graph databases and their ability to better manage highly connected data.
- Link Analysis
- Social Network Analysis
- Telephone Call Link Analysis
- Viral Infection Contact Tracing
- Ontologies and Knowledge Graphs
- Complex pattern recognition and anomaly detection
- Supply Chain Management and Security
- Drug Discovery
- Geographic Data Analytics
From the very beginning, the evolution of database technologies has always been about finding a better way to represent connected data. As organizations strive to move from data, information, and knowledge to insight and wisdom, building complex connected data systems will be foundational to their success.
The graph database is the latest contender in this evolution and it is already having a profound effect on large-scale application development in the public and private sectors.
People. Places. Things. Events. Locations. Graph databases find relationships between them across diverse data assets in an instant for new wisdom.