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


Programming with Rust

Author:  Donis Marshall
Publisher: Addison-Wesley
Pages: 400
ISBN: 978-0137889655
Print: 0137889658
Kindle: B0CLL1TGVT
Audience: Programmers wanting to learn Rust
Rating: 3
Reviewer: Mike James
Rust is the language we all want to learn at the moment so this is just in time.



Principled Programming

Author: Tim Teitelbaum
Publisher: DateTree Press
Date: March 2023
Pages: 429
ISBN: 978-8987744109
Print: B0BZF8R467
Audience: General
Rating: 5
Reviewer: Mike James
Principled Programming - what else would you want to do?


More Reviews

Last Updated ( Monday, 17 November 2014 )