The Dew Review – RavenDB 2.x Beginner’s Guide

I just finished reading Packt Publishing’s RavenDB 2.x Beginner’s Guide by Khaled Tannir. I haven’t used RavenDB in a project before, so when I was asked to review the book, I jumped at the opportunity. NoSQL in general, and RavenDB in particular, is something I have meaning to start learning.

3798OS

I really liked the format of the book. Each section starts with a brief introduction of the topic, continues with a  step by step set of instructions complete with code snippets and/or screen shots, and finishes up with a deeper explanation of what was done and what happened behind the scenes. The instructions part of each section is titled “Time for action”, the deeper dive is titled “What just happened?”, and some sections also have a “Have a go hero” challenge. These challenges give the reader a more advanced task to perform based on the one just completed and explained. Most of these challenges include some tips to get you started.

In some of the more introductory sections, the format felt a little repetitive, but it’s easy enough to skim through those parts if you’re comfortable with them already. For the more advanced topics, it’s a great way to re-enforce the material.

The book begins with an overview of RavenDB, covers the basics of NoSQL at a conceptual level and compares and contrasts its strengths with relational databases. Next it moves into the Management Studio… getting it installed and running, and gives an overview of what can be performed in the Studio. The next several chapters focus on using RavenDB within .NET and Visual Studio. Indexes, queries, and documents are all covered at a good level of detail. Chapters seven through 10 cover less code-focused aspects of RavenDB including deployment, scaling and profiling. There is a chapter on accessing RavenDB via a RESTful interface over HTTP rather than through the .NET API and the book finishes with a “Putting it all together” chapter where the author walks through building an ASP.NET MVC application with RavenDB as the data source.

The book is well-written, organized and an all-around good read. I think it targets a large number of developers – those who are experienced in .NET but have little or no exposure to NoSQL or RavenDB. If you fall into that category, I highly recommend picking up this title. When you see that Oren Eini, the main man behind RavenDB, is one  of the reviewers, you know it’s going to be a technically solid tutorial.