Databases Reference
In-Depth Information
they are normally optimized for transactional performance, and engineered with trans‐
actional integrity and operational availability in mind.
Two properties of graph databases are useful to understand when investigating graph
database technologies:
The underlying storage
Some graph databases use native graph storage , which is optimized and designed
for storing and managing graphs. Not all graph database technologies use native
graph storage, however. Some serialize the graph data into a relational database,
object-oriented databases, or other types of general-purpose data stores.
The processing engine
Some definitions of graph databases require that they be capable of index-free ad‐
jacency , 2 meaning that connected nodes physically “point” to each other in the da‐
tabase. Here we take a slightly broader view: that any database that from the user's
perspective behaves like a graph database (i.e., exposes a graph data model through
CRUD operations), qualifies as a graph database. We do acknowledge, however, the
significant performance advantages of index-free adjacency, and therefore use the
term native graph processing in reference to graph databases that leverage index-
free adjacency.
Graph databases—in particular native ones—don't depend heavily on indexes because
the graph itself provides a natural adjacency index. In a native graph database, the re‐
lationships attached to a node naturally provide a direct connection to other related
nodes of interest. Graph queries largely involve using this locality to traverse through
the graph, literally chasing pointers. These operations can be carried out with extreme
efficiency, traversing millions of nodes per second, in contrast to joining data through
a global index, which is many orders of magnitude slower.
There are several different graph data models, including property graphs, hypergraphs,
and triples.
Property Graphs
A property graph has the following characteristics:
• It contains nodes and relationships
• Nodes contain properties (key-value pairs)
• Relationships are named and directed, and always have a start and end node
• Relationships can also contain properties
2. See Rodriguez, M.A., Neubauer, P., “The Graph Traversal Pattern,” 2010 .
Search WWH ::




Custom Search