Using graph databases
In all the previous chapters, we have been creating graphs in memory as part of Python scripts. This is fine for analytical work, or when creating proof-of-concept applications, but for workflows that need to scale, or for long-term storage, Python and igraph will not be enough.
In production systems that involve graphs, a graph database acts as a persistent data storage solution. As well as holding large amounts of data, graph databases are typically designed to perform a large number of read and write operations efficiently and concurrently. They are likely to be part of any production pipeline that relies on huge amounts of graph data processing, such as in a recommender system for a large online retailer.
As well as holding data, graph databases allow basic queries to be carried out on the data they hold. Many of these databases can be queried with at least one of several common graph query languages, such as Cypher, GraphQL, or Gremlin. In this chapter...