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


Deep Learning (No Starch Press)

Author: Andrew Glassner
Publisher: No Starch Press
Date: July 2021
Pages: 750
ISBN: 978-1718500723
Print: 1718500726
Kindle: ‎ B085BVWXNS
Audience: Developers interested in deep learning
Rating: Mike James
Reviewer: 5
A book on deep learning wtihout an equation in sight?



Python Programming and Visualization for Scientists 2nd Ed

Author: Alex DeCaria and Grant Petty
Publisher: Sundog Publishing
Pages: 372
ISBN: 978-0972903356
Print: 0972903356
Audience: Scientists wanting to use Python
Rating: 2
Reviewer: Mike James
Visualization - a difficult topic and difficult to see how to explain the ideas in a book.


More Reviews

Last Updated ( Monday, 17 November 2014 )