Sunday, June 16, 2013

MongoDB Applied Design Patterns by Rick Copeland, O'Reilly Media

The Author, Rick Copeland, works as Consultant focusing on MongoDB and Python custom development. He is a frequent speaker at MongoDB events and is a charter member of 10gen's “Master of MongoDB”.

This is one of the best's advanced MongoDB books around. It is more for advanced users and you should already be familiar with MongoDB and it's concepts before you read this book.
Copeland assumes that the reader has some SQL knowledge since he often shows examples in MongoDB and how it would look like in a RDMS with SQL. IMHO this is not a bad idea since I think there are many users which have a RDMS background.

Most of the code examples used in the book are implemented using either the Python or JavaScript programming languages.

The Book has 176 pages and is divided into 2 parts.

In part 1 (3 chapters) Copeland explores various designs for MongoDB's documents. In small examples he explains the advantages for embeding objects or reference them by ID (chapter 1), modeling polymorphic schemas (chapter 2) and how you use atomic update operations to maintain consistency (chapter 3). In all chapters he has performance, flexibility and complexity in mind which is really helpful and he explains the performance impacts really well.

In the second part (6 chapters) Copeland shows some example Applications and the application of MongoDB patterns to solving domain-specific problems.
Here he uses the patterns from part 1 and you can see them in action on real world use cases.
Each application has different use cases and for each use case he explains the schema design and how to work with the schema on the application level.
I think you can see this part a bit like a cook book to find solutions to typical problems even thought it won't have the typical structure like the normal O'Reilly cook books have.

Overall the book is very comprehensive and Copelands gets to the point really fast which is what I like on this book.
You can find more info’s about the book here.