I was excited when I got the chance to review the book RavenDB High Performance from Packtpub. Because we are using RavenDB in production. The title itself High Performance gave me the impression that this book is all about micro optimizing RavenDB by tweaking internals of RavenDB. I was quite surprised when I detected that this book takes another approach.
The first chapter starts with introducing what a document database is and explains in a few words the RavenDB architecture. In my point of view this chapters is useless. Let me explain why. I think you only buy this book after you have already decided to use RavenDB or you have at least read another introductory book about RavenDB. Therefore, you already know what a document database is and what its pros and cons are.
The second chapter although speaks about how to optimize that data model. In my opinion, this is one of the most important chapters of this book. You learn how to store relationships and efficiently fetching data by leveraging the RESTfulness of RavenDB.
The book talks about the most important aspect to build scalable systems: Reduce the number of times you actually hit the real server. Remember, doing nothing is always scalable :D. One way to achieve this is to heavily use RavenDB’s aggressive caching support. Further chapters introduce you briefly to how to monitor RavenDB with Glimpse, Performance Counters and statistics. More topics like Sharding, FailOver clustering and how to deploy RavenDB to the cloud are also covered in this book. Although in my personal opinion the sharding and failover part should be extended because it can be a complex process in real live scenarios.
Overall, the book was a quick and decent introduction into performance relevant topics for RavenDB.