1 Introduction to graphs

This chapter covers

  • An introduction to graphs and graph terminology
  • How graph databases help solve highly connected data problems
  • The advantages of graph databases over relational databases
  • Identifying problems that make good candidates for using a graph database

Modern applications are built on data--data that is ever increasing in both size and complexity. Even as the complexity of our data grows, so do our expectations of what insight our applications can derive from that data. If you are old enough, you likely remember when applications took a long time to load data and had limited features. Today’s reality is different; applications provide powerful, flexible, and immediate insight into data. But for every 100 questions modern applications answer, the most common data tool these use (namely, a relational database) handles only about 88 of those questions well. That leaves 12 types of questions where relational databases struggle. These remaining questions deal with the links and connections within the data, those aspects of the data that can generate powerful and unique insights. This puts us at a crossroad: we can use the relational database “hammer” to pound away at those questions and make this work well enough, or we can take a step back and look at what other tools can answer these questions better, faster, and with less effort.

1.1 What is a graph?

1.1.1 What is a graph database?

1.1.2 Comparison with other types of databases

1.1.3 Why can’t I use SQL?

1.2 Is my problem a graph problem?

1.2.1 Explore the questions

1.2.2 I’m still confused. . . .  Is this a graph problem?