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.


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.




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.


The Hardware Hacker

Author: Andrew Huang
Publisher: No Starch Press
Pages: 416
ISBN: 978-1593277581
Print: 159327758X
Kindle: B06XDHKV94
Audience: Hardware enthusiasts
Rating: 5 
Reviewer: Harry Fairhead 

This is a book like few others. You will either love it or wonder what it is all ab [ ... ]

SQL Server 2016 High Availability

Author: Paul Bertucci
Publisher: Sams Unleashed
Pages: 432
ISBN: 978-0672337765
Print: 0672337762
Kindle: B073XQDM8B
Audience: Database architects
Rating: 4.5
Reviewer: Kay Ewbank

This is a guide to designing and implementing high availability solutions for SQL Server based on Microsoft's range  [ ... ]

More Reviews

Last Updated ( Monday, 17 November 2014 )