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


Python Crash Course, 3rd Ed (No Starch Press)

Author: Eric Matthes
Publisher: No Starch Press
Pages: 552
ISBN: 978-1718502703
Print: 1718502702
Kindle: B09WJX22TV
Audience: People wanting to learn Python
Level: Introductory/Intermediate
Audience: Not the complete beginner
Rating: 4
Reviewer: Alex Armstrong
To reach a third edition this [ ... ]



Beautiful C++

Author: J. Guy Davidson and Kate Gregory
Publisher: Addison-Wesley Professional
Date: December 2021
Pages: 352
ISBN: 978-0137647842
Print: 0137647840
Kindle: B09HTH1X38
Audience: C++ developers
Rating: 5
Reviewer: Mike James
Can C++ be beautiful?


More Reviews

Last Updated ( Monday, 17 November 2014 )