NoSQL Distilled

Author: Pramod J Sadalage & Martin Fowler
Publisher: Addison Wesley
Pages: 192
ISBN: 978-0321826626
Audience: Developers who want an overview of NoSQL
Rating: 4.5
Reviewed by: Kay Ewbank

This book aims to give you enough information to answer the question of whether NoSQL databases are worth serious consideration for your future projects. Does it suceeed?

Author: Pramod J Sadalage & Martin Fowler
Publisher: Addison Wesley
Pages: 192
ISBN: 978-0321826626
Audience: Developers who want an overview of NoSQL
Rating: 4.5
Reviewed by: Kay Ewbank

 

There’s been a lot of news and enthusiasm about NoSQL databases recently, and some of the products have reached a maturity where they look tempting. The difficulty is that the technology is still evolving at a pace where it’s difficult to work out what is really core-NoSQL, and what’s either a marketing team’s invention or just a local feature of a particular product. The authors of NoSQL Distilled say the aim of the book is to give you enough information to answer the question of whether NoSQL databases are worth serious consideration for your future projects, and that’s a pretty good summary of the book.

 

Banner

 

The first half of the book describes the concepts of NoSQL without getting bogged down with the trivialities of a particular product. The authors then go on to look at implementing systems using a variety of NoSQL products. Sadalage and Fowler start off by an overview of why NoSQL has hit the headlines so much, then go on to describe three of the four main data models for NoSQL - key value, documents, and column family databases.

Chapter 3 is a discussion of aggregates and the difficulties that can arise when working with them (aggregates being collections of related data objects treated as units for data manipulation and consistency). So, for example, if you aggregate data on customer orders into units on an order, that works well until you need to look at how many of a particular item has sold during the previous week. Graph databases are also introduced in this chapter.

Chapter 4 looks at distribution models - single server, sharding, master-slave replicas, peer-to-peer replicas, and combining shards and replicas. Chapter 5 tackles consistency. This is one of the biggest challenges when you move a database to a clustered model, and it makes users of traditional databases nervous. When you’ve spent a lot of time ensuring strong consistency, NoSQL concepts such as ‘eventual consistency’ are worrying. Sadalage and Fowler explain the alternative thinking behind working with NoSQL, including the idea of the CAP theorem. CAP stands for Consistency, Availability and Partition tolerance, and in essence you can have any two of the three.

Chapter 6 considers how NoSQL handles the problem of transactions by using version stamps. While NoSQL databases do support atomic updates within an aggregate, more open transactions are less well catered for. The answer, according to the authors, is version stamps. Chapter 7 looks at Map-Reduce and the way it can be used to organize processing to both make use of the machines in a cluster and to avoid unnecessary data transfer between machines.

The final four chapters of the book each take a different example database and database server. Chapter 8 shows how Riak can be used for key-value databases, 9 uses MongoDB with a document database; 10 shows Cassandra being used for column family databases; and 11 uses Neo4J for graph databases.

This isn’t an in-depth guide; if at the end of it you decide you do want to try a NoSQL database, you’ll still need to choose which one to use and read more detailed book to find out more about it. The benefit of this book is that you will have a much clearer idea of why people are getting enthusiastic about NoSQL, and exactly what a NoSQL database might be good for.

 

Banner


Data Structures & Algorithms in Python

Author: Dr. John Canning, Alan Broder and Robert Lafore
Publisher: Addison-Wesley
Date: October 2022
Pages: 928
ISBN:978-0134855684
Print: 013485568X
Kindle: B0B1WJF1K9
Audience: Python developers
Rating: 4
Reviewer: Mike James
Data structures in Python - a good idea!



Coding for Beginners, 2nd Ed (In Easy Steps)

Author: Mike McGrath
Publisher: In Easy Steps
Pages: 192
ISBN:978-1840789751
Print:1840789751
Kindle: B0B56LN77V
Audience: Complete beginners to programming
Rating: 4
Reviewer: Sue Gee

This book aims to introduce hands-on modern programming to complete beginners. Can this be achieved in fewer than 180 [ ... ]


More Reviews

Last Updated ( Thursday, 25 October 2012 )