Database Reference
In-Depth Information
Chapter 1
Introduction to Graphs
What do Cisco, Walmart, and eBay have in common with many academic and research projects? They all depend on
graph databases as a core part of their technology stack.
Why have such a wide range of industries and fields found a common relationship through graph databases?
The short answer is that graphs can offer superior and consistent speed when analyzing deep, dense relationships
and can do so with a flexible data structure.
As many developers can attest, one of the most tedious pieces of a web application or software project is
managing the schema for its database. Although relational databases are often the right tool for the job, certain
limitations—particularly the time as well as the risk involved to make additions to or update the model—invite the use
or consideration of alternatives and complementary data storage solutions. Enter NoSQL.
When NoSQL databases, such as MongoDB and Cassandra, came along, they brought with them a simpler way to
model data, as well as a high degree of flexibility—or even a schema-less approach—for the model. While document
and key-value databases remove many of the time and effort hurdles, they were mainly designed to handle simple
data structures. However, the most useful, interesting and insightful applications require complex data and yield a
deeper understanding of the connections and relationships between different data sets.
Graph databases—another branch of databases in the NoSQL family tree—can offer the blend of simplicity and
speed while permitting data relationships to maintain a first-class status. For example, Twitter's graph database,
called FlockDB , more elegantly solves the complex problem of storing and querying billions of connections than their
prior relational database solution. In addition to simplifying the structure of the connections, FlockDB also ensures
extremely fast access to this complex data. Twitter is just one use case of many that demonstrates why graph databases
have become a draw for many organizations that need to solve scaling issues for their data relationships.
While offering fast access to complex data at scale is a primary driver for adoption of graph databases, they also
offer the same tremendous flexibility found in so many other NoSQL options. The schema-free nature of a graph
database permits the data model to evolve without sacrificing any of the speed of access or adding significant and
costly overhead to development cycles.
Poised at the intersection of graph database capabilities, the growth of interest, and the trend toward more
connected large sets of data, this chapter demonstrates how the graph database will affect future web and mobile
application development—specifically, how graph databases will grow as a leading alternative to relational databases.
I start with a quick overview of graph theory and a look at the main elements of a graph database. I proceed to
show how graph databases compare to relational databases as well as other NoSQL options. I conclude the chapter
with a look at use cases for graph databases.
 
Search WWH ::




Custom Search