What is a Graph?
A graph is composed of two elements: a node and a relationship.
Each node represents an entity (a person, place, thing, category or other piece of data), and each relationship represents how two nodes are associated. This general-purpose structure allows you to model all kinds of scenarios – from a system of roads, to a network of devices, to a population’s medical history or anything else defined by relationships.
What is a Graph Database?
A graph database is an online database management system with Create, Read, Update and Delete (CRUD) operations working on a graph data model.
Unlike other databases, relationships take first priority in graph databases. This means your application doesn’t have to infer data connections using things like foreign keys or out-of-band processing, such as MapReduce.
The data model for a graph database is also
significantly simpler and more expressive than those of relational or other NoSQL databases.
Graph databases are built for use with transactional (OLTP) systems and are engineered with transactional integrity and operational availability in mind.
There are two important properties of graph database technologies:
Graph Storage
Some graph databases use native graph storage that is specifically designed to store and manage graphs, while others use relational or object-oriented databases instead. Non-native storage is often much more latent.
Graph Processing Engine
Native graph processing (a.k.a. “index-free adjacency”) is the most efficient means of processing graph data since connected nodes physically “point” to each other in the database. Non-native graph processing uses other means to process CRUD operations.
O’Reilly Graph Databases
Graph databases that use native graph storage and native graph processing perform and scale better than their non-native counterparts.
Learn More about Graph Databases →
Why does My Enterprise Need a Graph Database?
Today’s CIOs and CTOs don’t just need to manage larger volumes of data – they need to generate
insight from their existing data. In this case,
the relationships between data points matter more than the individual points themselves.
In order to leverage data relationships, organizations need a database technology that stores relationship information as a first-class entity. That technology is a graph database.
Ironically, legacy relational database management systems (RDBMS) are
poor at handling data relationships. Their rigid schemas make it difficult to add different connections or adapt to new business requirements.
Not only do graph databases effectively store data relationships; they’re also flexible when expanding a data model or conforming to changing business needs.
What Are the Advantages of Using a Graph Database?
Tech giants like Google, Facebook, LinkedIn and PayPal all tapped into the power of graph databases to create booming businesses. Their secret? They each used graph database technology to harness the power of data connections.
A graph database is purpose-built to handle highly connected data, and the increase in the volume and connectedness of today’s data presents a tremendous opportunity for
sustained competitive advantage.
Graph databases have three other key advantages:
Performance
For intensive data relationship handling, graph databases improve performance by several orders of magnitude. With traditional databases, relationship queries will come to a grinding halt as the number and depth of relationships increase. In contrast, graph database performance stays constant even as your data grows year over year.
Flexibility
With graph databases, IT and data architect teams move at the speed of business because the structure and schema of a graph model flexes as applications and industries change. Rather than exhaustively modeling a domain ahead of time, data teams can add to the existing graph structure without endangering current functionality.
Agility
Developing with graph databases aligns perfectly with today’s agile, test-driven development practices, allowing your graph database to evolve in step with the rest of the application and any changing business requirements. Modern graph databases are equipped for frictionless development and graceful systems maintenance.
What Are the Common Use Cases of Graph Databases?
Today’s enterprise organizations use graph database technology in a diversity of ways: