Authors: Don McCreary & Ann Kelly
Aimed at: Software architects and technical managers
Reviewed by: Kay Ewbank
NoSQL is getting a lot of attention. What exactly is it? Where does it fit in?
The subtitle of this book is ‘A guide for managers and the rest of us’, which might make you put it back on the bookshelf quickly, wiping your hands in case they were contaminated. Fortunately, the content of the book is rather more useful than the title suggests. That said, the book is high level; this is not a book on which NoSQL system to choose, or how to use NoSQL tools. Instead, it’s a discussion of NoSQL compared to relational systems, case studies comparing NoSQL and SQL, and an analysis of what the important factors are when implementing NoSQL systems in different situations.
our types of NoSQL systems are covered – key value stores, column stores, document stores and graph stores. Most chapters end with at least one case study showing how the concepts from the chapter have been applied in real systems, with details of which NoSQL database has been used and what the advantages have been.
The book starts with a definition of what NoSQL is, and the basic concepts behind it. Database patterns are the topic of the next part, where the authors look at NoSQL and SQL database structures, how they are accessed, and where each offers advantages. XML databases are also introduced in this section.
Using NoSQL for big data, search, high availability and agile web development is the topic for the next part of the book. I felt this was one of the stronger parts of the book, with good coverage of distributed systems and MapReduce and a nice chapter on NoSQL search.
The final part of the book covers ‘advanced topics’, starting with NoSQL and functional programming. Functional programming isn’t the easiest topic to explain, but I thought the authors did reasonably well in getting across the concept. Security and how to protect your NoSQL systems gets a chapter, and the book closes on how to select the right NoSQL solution.
Overall, this is a good book to read if you don’t know much about NoSQL and want to find out where it fits into modern programming. It’s by no means a ‘how to’ book, but it does a good job on the ‘why’.