MongoDB Applied Design Patterns

Author: Rick Copeland
Publisher: O'Reilly, 2013
Pages: 176
ISBN: 978-1449340049
Aimed at: MongoDB developers who want to become more expert
Rating: 4.5
Reviewed by: Kay Ewbank

A guide for developers who have already got to grips with MongoDB on how to go about structuring your data.

Author: Rick Copeland
Publisher: O'Reilly, 2013
Pages: 176
ISBN: 978-1449340049
Aimed at: MongoDB developers who want to become more expert
Rating: 4.5
Reviewed by: Kay Ewbank

The big selling point about NoSQL databases is that you can structure your data in whatever way makes most sense for your particular dataset and application. Of course, this means there’s no obvious structure that you can just copy and tweak a bit, so it’s up to you to get the structure right all on your own.

The subtitle of this book is ‘Practical Use Cases with the Leading NoSQL Database’. Essentially, it’s a guide for developers who have already got to grips with MongoDB on how to go about structuring your data. Copeland isn’t interested in telling you what MongoDB is or how to install and use it from a programming language; instead, he looks at the choices you need to make, and applies those choices to a number of ‘use cases’, applying the lessons from part one of the book to different possible applications where you might use MongoDB. The examples are written in Python and JavaScript, so you’ll need to understand those to get the best out of the book.

Banner

The material in the first half of the book is tackled at a fairly high level; understandable given the short length of the overall book. Copeland discusses the relative merits of embedding and referencing documents; how to set up document embedding to create polymorphic schemas; and how to mimic transactional behavior.

mogodb

 

The use cases in Part Two of the book start with a look at ‘operational intelligence’, real time analysis of business data, with good descriptions of how to use compound indexes, and how to manage the application when it gets large enough to need sharding. The examples used start with an event logging system , and show how this can be extended, finishing with a look at an actual real-time system, the Mongo Monitoring Service. Ecommerce gets a chapter showing how you could use MongoDB for a product catalog, and for an inventory management system. There’s a chapter on using MongoDB for a content management system that goes into polymorphic schemas for storing content nodes.

Online advertising networks are tackled next, with the emphasis on how to prevent the storage engine becoming the bottleneck. Social networking and online gaming are covered in the final two chapters. The chapter on social networking shows how you could achieve something along the lines of Google+, while the online gaming chapter looks at how you could use schemas to hold character, location and item data.

Overall, this is a nice book. It’s well written and the author makes some useful points and insights into using MongoDB in different scenarios. I’d have been happier if the book were longer and went into more depth, but it’s well worth reading if you’re trying to go more deeply into MongoDB.

 

Banner


Web Operations

Author: John Allspaw & Jesse Robbins (eds)
Publisher: O'Reilly, 2010
Pages: 336
ISBN: 978-1449377441
Aimed at: Anyone who has to manage a web site
Rating: 4
Pros: An interesting and readable collection of essays
Cons: Sometimes obvious; raises more questions than answers
Reviewed by: Ian Elliot

A collec [ ... ]



JavaScript Web Applications

Author: Alex MacCaw
Publisher: O'Reilly
Pages: 280
ISBN: 978-1449303518
Aimed at: Proficient JavaScript developers
Rating: 4
Pros: Tackles a difficult topic
Cons: Niche and not necessarily the right way to tackle it
Reviewed by: Ian Elliot

This book has an intriguing subtitle - Guide to Moving State to the [ ... ]


More Reviews

 
 

   
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.