Graph Databases

Author: Ian Robinson, Jim Webber, and Emil Eifrem

Publisher: O'Reilly, 2013

Pages: 224

ISBN: 9781449356262
Print: 1449356265
Kindle: B00EHQMHEA

Audience: Developers who want to learn about graph databases 
Rating: 4
Reviewed by: Kay Ewbank

What is a graph database and why would you use one?

 

Graph databases are one of the more obscure parts of the database world, but are becoming increasingly popular due to the way they let you manage highly connected data. In this introduction to graph databases, Robinson, Webber and Eifrem set out what graph databases can do, then illustrate the techniques of working with graph databases, using Neo4j for the examples. All three authors work at Neo, the company that produces Neo4j, and this does mean they concentrate on their own software. However, as they point out, the concepts do follow through to other graph databases, so you would still get benefits from the book if you were planning on using InfiniteGraph, OrientDB, GraphDB or Microsoft Trinity.

Banner

The book opens with an introduction to graphs and graph databases, and why graph databases have been developed. There’s an interesting chapter looking at the different choices for storing connected data – relational, NoSQL and graph databases, which unsurprisingly reaches the conclusion that graph databases are the best choice (it might have been a very short book otherwise).

Data modeling with graphs is the first topic to be looked at in more depth, starting with a more detailed examination of the property graph model, and continuing with an introduction to Cypher, Neo4J’s query language that is used throughout the book for the code examples. The chapter’s main example is the creation of a cross-domain model of information about Shakespeare, his plays, theatrical companies that have performed the plays, and some geospatial data on the places the plays have been performed. The chapter ends with an interesting discussion of common modeling pitfalls.

 

graphdatabases

 

The next chapter looks at building a graph database application, from model creation through the different options for the application architecture, to testing and capacity planning. Having looked at a fictional example, the next chapter looks at graph databases in the real world. The authors describe how three companies use Neo4j for social recommendations, authorization and access control, and logistics.

A chapter on graph database internals looks at how Neo4j stores and queries data, and what the different APIs within it are. This was interesting, but I don’t know how much it would apply to other databases so it’s hard to say how generally useful the info is. The book closes with a rather lightweight chapter on predictive analysis with graph query that looks at depth and breadth-first searches, Dijkstra’s algorithm, A*, and local bridges.

Overall, the book was well written and easy to read, and so long as you don’t mind the trumpet blowing for Neo4j, it’s a good introduction to graph databases.

Banner


Data Structures & Algorithms in Python

Author: Dr. John Canning, Alan Broder and Robert Lafore
Publisher: Addison-Wesley
Date: October 2022
Pages: 928
ISBN:978-0134855684
Print: 013485568X
Kindle: B0B1WJF1K9
Audience: Python developers
Rating: 4
Reviewer: Mike James
Data structures in Python - a good idea!



React Programming

Author: Loren Klingman and Ashley Parker
Publisher: Big Nerd Ranch Guides
Date: April 2023
ISBN:978-0137901760
Print:0137901763
Kindle:B0C4V69S8Z
Audience: Front end devs
Rating: 4
Reviewer: Ian Elliot
React is difficult to master, so a book can really help.


More Reviews

Last Updated ( Monday, 17 November 2014 )