Author: Kyle Banker
Publisher: Manning, 2012
Aimed at: Application developers and DBAs wanting to use MongoDB from the ground up
Pros: Well written description of MongoDB and its advantages
Cons: Tends to be over-enthusiastic
Reviewed by: Kay Ewbank
MongoDB is attracting a lot of attention. Does this book help developers get to grips with it?
MongoDB is a database that arouses great loyalty in its fans, who argue that its document-based data model works better in web applications than the traditional relational database. Kyle Banker works at 10gen, the company doing much of the development of the open-source MongoDB, so you’d expect him to be enthusiastic about MongoDB, and he is. He manages the MongoDB drivers for Ruby and C, which also has a bearing on the focus of this book.
Part Three is titled ‘MongoDB Mastery’, and looks at optimizing queries using indexes and the query optimizer. There’s a chapter on replication, and another on sharding. If you’ve not encountered sharding before, it’s another term for distributed databases, and MongoDB has automatic sharding to deal with large data sets. This is a useful chapter that takes you from a basic understanding of a shard through setting up a shard cluster, querying and indexing, the tricky task of shard keys, and working with shards in production. The book closes with a chapter on deployment and administration.
As a developer this is a good book for learning what MongoDB offers and how to use it. There is quite a lot of focus on Ruby which could be a disadvantage if you’d rather use an alternative language, and I’d have liked more examples, but overall I enjoyed this book. A useful read that’s well written.