Category Archives: Database

Neo4j Essentials by Sumit Gupta, Packt Publishing Book Review

I was very happy to see a new book released on the Neo4j subject, which was shortly after I read Learning Neo4j which I reviewed here. I just feel it is a very good timing for the release and that these books need to be read in this sequence, first is because Learning Neo4j is very inspirational in addition to teaching Neo4j basics, and also showing what implementations this database can have in real life.

I must say right away that Neo4j Essentials goes beyond just the essentials, and it will become immediately apparent that Sumit has an in depth knowledge of both Neo4j and enterprise architecture. So you will have a good company.

In terms of setting up your environment, it is uncomplicated, as a bonus, Neo4j comes as a free version which is all you want to learn it, and then build a prototype. Be posted Neo4j will require Java (but not its SDK) because Neo4j itself is built in Java. Oracle Java 7 or newer specifically. As a side note, Neo4j can be even embedded into your standalone application.

To be efficient with the book and technology and make the most out of the book I suggest to familiarize yourself with REST and get an IDE like Eclipse or IntelliJ to run Java code samples from the book. I found them very valuable.

So back to the book, while not exactly structured the way I expected it to be laid out (e.g. troubleshooting and maintenance related items appear early in the book) it actually allows you to navigate efficiently and the content is chained logically.

There are plenty of examples in the book covering various aspects of data processing. While most examples are not very exiting I suspect they serve a good starting point in one’s journey toward efficient processing and representation of related data. I must say the author made special emphasis on covering the newer features of the last data base release (Neo4j 2.0).

The most interesting item discussed in the book to my taste was Spring, it is just often not covered in even books dedicated to Java. Apparently Spring supports Neo4j, strongly. What it means, you can build enterprise grade, data rich web applications. Another awesome topic is clustering.

This book dedicates a lot of details with attention to deployment, maintenance, writing code for performance, aspect oriented programming and more, but just enough at the same time to build a reliable implementation of a modern enterprise grade database centric application.

I am sure this book will be of much help to many of these who embark on a wonderful journey with Neo4j!


Learning Neo4j by Rik Van Bruggen, Packt Publishing Book Review

One of the fascinated technical books I have ever read, while not difficult to understand (hint: Neo4J is well put together), it is very informative, yet elegantly written that to an able to learn on its own reader can open a whole slew of possibilities and opportunities.

I need to step back and tell that I approached this book initially with some scepticism, and while I was on the very first pages of it one of my co-workers pryingly glanced over my shoulder and asked, what are you reading? I replied: “it is a book on a Graph database called Neo4J”. His reaction was, “I did not even know there are such a database type!”. As a database professional though I felt obliged to make myself aware and somewhat educated on alternative or niche databases, this is what I thought then, but now… read on.

Ric Van Bruggen is definitely in love with Neo4J, but he is also a talented teacher, this book could much less of a technical reference than it is without him. Ric tastefully expands from the history and basics of Graph databases up to very practical, yet advance usages and ends the book with the tools ecosystem and even a neat Cypher ref-card. Besides, I think Cypher is the cornerstone to the successful operation of Neo4J. For the impatient reader, Cypher to Neo4J is as SQL to RDBMS’.

The book reads like a story, it gradually builds your level of knowledge and at the same time makes you “feel at home” with Neo4J, it is a very welcoming database.

My interest grew with every page I flipped.

The database gets easily installed on any platform, and for the record, its graphing (visual) abilities are stunning! It can also output data in the tabular form. Yet, based on what Ric stated it is VERY fast – he processed 2.1 mil nodes in under 50 sec on a laptop (disclaimer: I did not run any Cypher code, but I am planning to).

This book, especially its chapters 6 and 7 (use case examples), were of immense interest to me, the Recommendation Engine, Impact Analysis I loved both a lot. I think my case using Neo4J will be on finding the best driving path (based on more than 2 factors) that I want to experiment with.

I figured, Neo4J is supported by a vast number of enterprise grade tools comprising a serious ecosystem in which Neo4J strives to take on new heights.

After reading this book I must say the Graph Databases are seriously overlooked.

Well done, Ric, Packt and etc. A 5 out of 5 from me!

Take Neo4J for spin!