Jump to ratings and reviews
Rate this book

Making Sense of NoSQL: A guide for managers and the rest of us

Rate this book
Summary

Making Sense of NoSQL clearly and concisely explains the concepts, features, benefits, potential, and limitations of NoSQL technologies. Using examples and use cases, illustrations, and plain, jargon-free writing, this guide shows how you can effectively assemble a NoSQL solution to replace or augment the traditional RDBMS you have now.

About this Book

If you want to understand and perhaps start using the new data storage and analysis technologies that go beyond the SQL database model, this book is for you. Written in plain language suitable for technical managers and developers, and using many examples, use cases, and illustrations, this book explains the concepts, features, benefits, potential, and limitations of NoSQL.

Making Sense of NoSQL starts by comparing familiar database concepts to the new NoSQL patterns that augment or replace them. Then, you'll explore case studies on big data, search, reliability, and business agility that apply these new patterns to today's business problems. You'll see how NoSQL systems can leverage the resources of modern cloud computing and multiple-CPU data centers. The final chaptersshow you how to choose the right NoSQL technologies for your own needs.

Managers and developers will welcome this lucid overview of the potential and capabilities of NoSQL technologies.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

What's Inside

About the Authors

Dan McCreary and Ann Kelly lead an independent training and consultancy firm focused on NoSQL solutions and are cofounders of the NoSQL Now! Conference.

Table of Contents

312 pages, Paperback

First published January 1, 2013

11 people are currently reading
85 people want to read

About the author

Dan McCreary

3 books2 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
16 (30%)
4 stars
21 (40%)
3 stars
13 (25%)
2 stars
2 (3%)
1 star
0 (0%)
Displaying 1 - 15 of 15 reviews
2 reviews1 follower
January 24, 2014

I have recently finished reading this book and thought of writing my opinion about the book. I have mixed feeling about the book. From my viewpoint the book has several good points while there are few areas where I was expecting more but got little disappointed. I will point out what I did not like as I give my opinion about chapters.

Like most of the NoSQL books the authors start by giving an overview of early NoSQL solutions and the reason why they came into existence. They have given 5 case studies to explain how some of the companies came up with their proprietary solutions to solve their problems of big data. These solutions laid the foundation of the current NoSQL products.
The good part in this book is that the authors first introduce a concept and then they present a case study around the concept to tell the readers how the concept is used in the real world. This is very important since when a technology is new it is very difficult to envisage how to use it in our projects.

Authors have very clearly mentioned the difference between the RDBMS and NoSQL. Authors are not biased towards NoSQL and give a practical opinion on the two techniques. They have tried to build the fundamentals from ground up by giving the usage patterns, the terminologies, examples, key features of the NoSQL solutions
Almost every book tries to explain ACID, BASE, CAP without giving any practical usage. But in this book authors have devoted lot of pages to explain the fundamentals & to suggest how it makes RDBMS different than NoSQL. The authors have explained CAP theorem (applicable only in case of network disconnection) in a very effective manner and I guess this is the best description of the theorem compared to any book on similar topic.

In few chapters there is a Apply your Knowledge at the end which tries to give a real world situation and tries to find out the solution based on the concepts build in the chapter. This is a very good way of showing the utility of the concepts to the audience. But I think this section could have been much better. Usually the arguments given to choose the options are not good or the authors will directly tell which the correct solution is without discussing much about how to select that approach. In short the audience will understand what the solution for the given problem should be, but the approach to reach there might not be that clear.

Authors highlight that SQL Joins is the reason why RDBMS is not efficient in cluster environment as the tables can be spread on multiple systems and then to find the join will become highly complex. They also suggest that “Transactions” is the main reason why RDBMS gained so much popularity specially in the e-commerce & banking. They have dedicated a large chunk of chapter 3 on Transactions and their importance. NoSQL does not have transactions built in & it is one of the reasons why enterprises are little skeptical on their acceptance

In chapter 4 authors have formally introduced to the various NoSQL architectures on which most of the solutions are based. One of the unique information (different from other books) is the effect of the system environment like RAM, SSD on the performance & capability of the NoSQL systems. To understand how H/W variations can impact the choice is interesting to know especially when most of them are Cloud based solutions and a consumer we can choose what configuration we want from the cloud vendor. You can define the various Quality of service kind of parameters like max read time, max write time, replication factor etc. Depending on the parameters the cost of the solution will vary. So basically we have a list of parameters that determine the cost of the NoSQL solutions. There is a very good analogy of the radio to explain how the various parameters lead to the cost of the solution
However I am little disappointed the content of the chapter4 and feel that more content could have been added.

Authors could have given some more examples of the key-value stores like to maintain the shopping cart, User profiles. The high available systems where he points out the DNS, directory services could have been covered as the use cases for the Key value stores.

Authors did not clearly tell why the query in the key store will be fast or what are the ways in which query engine will go about searching for the information. It is also not very clearly highlighted how a key value store is different than a RDBMS table with two columns either both are blobs or string-Blob. Also when not to use the Key–value is not highlighted.

In general I feel that the book does not have much of hands on details. It is good from a theoretical point but not from the practical perspective like how to actually write a query in a popular NoSQL solution. It says that with the help of the graph database the user can perform relational queries but how to actually go about doing that is not mentioned

I feel the introduction of the type of the NoSQL databases could be more structured and could have revolved around some common features like how well ACID properties are supported, How easy it is to query (somewhat covered ), How well is the distribution of data managed and some common examples of the existing databases. This gives a better understanding of the reason why we have different kinds of NoSql architectures

They have tried to explain the column family databases, but I guess a proper example where author are explaining how to create a key would have been very helpful.

They have given 3 examples of the column family database and tried to explain how the solution will help the users, but along with this they should have given a small sketch of entries that will be actually written in such databases. I could not understand how it will be easy to retrieve the data from the column family database compared to other solutions.

Document oriented database has been given less description. Again as a reader I would not want to refer to multiple books to understand each of these 4 families. This book should have given me a clear picture on all the 4 types.

In chapter 6 Authors have introduced to the various NoSQL database solutions and why the organizations are moving towards the NoSQL solution. Gives a list of use cases where NoSQL can be helpful like event logs, remote sensor data, trends from social media data.

Big Data problems have various scaling needs based on their domain especially the Linear scalability which is one of the biggest problems with the RDBMS solutions & has been an inherent feature of almost all the NoSQL offerings. With so many offerings available in the market the solutions might be chosen based on the query expressivity and the degree of scalability. For e.g. key value pairs are most scalable but least expressive as your queries can only be on the keys. The document stores are most expressive as you can query on all the fields of the stored document record.

Authors have tried to give a wide spectrum of use cases and the applicability of various NoSQL solutions. They have pointed out a different type of NoSQL solution of a particular category of use case

I think one of the weakest parts in this book is the editing. Some of the information given in chapter 6 should have been in the chapter 4 as it is vital to understand the difference in the various architectures of NoSQL databases but you have to wait for later chapters to get those details. One of the diagrams that point out lot of important aspects of the various types of NoSQL should have been in chapter4 rather than in chapter 6.

This book is different from many other books on the subject which only talk about the various types of database and compare them against each other, talk about the basic concepts like ACID BASE and then end the discussion. This book tries to bring in the usage aspect. How we can use the NoSQL in conjunction with other technologies to add value to the business like how we can improve the ETL process, How we can make the documents that are stored in multiple locations searchable, how to make use of map reduce algorithms with Hadoop to get the batch processing done on large data

I find some resource sharing of the concepts like Shared RAM, Shared Disk, Shared-nothing are quite interesting and have not been covered in other books in such a great details. Authors have tried to give the practical implications of each of the physical architecture on the database performance. They even say that knowing the hardware options available to big data is important first step in choosing the NoSQL

The authors have given a high level overview of the map-reduce paradigm. Authors have highlighted that one of the main concern of the map-reduce program is the uniform distribution of the tasks to all the nodes in the cluster. If the load is not uniform then the performance will get a hit as too much of work will be done by the single node. They also pointed out that one of the selection criteria NoSQL solution is how well it gets integrated with the Hadoop system

Authors discuss ways how the data is handled like distributed query, data distribution over nodes, replications so that time to answer the query can be reduced when dealing with large amount of data.

They have introduced Apache Flume which is one of the popular ways to analyze the event logs with the help of Hadoop and HDFS

They have given a case study to give a practical use of the NoSQL solutions in analyzing the distributed event logs in an enterprise. But I find that though the introduction is good and you are eager to know
how it is done but you don’t get answers to lot of the actors like the fast channel For e.g. how will you filter the critical events from all the incoming events. What is this fast channel? Is it a notification server or some kind of RDBMS?.

With respect to the graph database the authors suggest that they can be used in the healthcare industry to find the frauds in the healthcare frauds. Authors gave an overview of the problem domain but did not explain the nuts and bolts of how to create the large shared RAM which can be extended in the future.

Some of the questions remain unanswered: Is there any size limitation on building the shared memory. What is the reliability of the shared RAM? Can a failure of one individual RAM chip bring down the entire infrastructure?

In the chapter 7 Authors touch upon a very relevant and important topic of how to fetch the data from the NoSQL in a timely manner with high recall and precision.
They have pointed that usually the NoSQL databases will combine some well-established search library like Apache Lucene or Apache Solr to provide reliable full text functionality.
Authors explain the key terms used while building search functionality like stemming, indexing, proximity search, scores, boosting, rank, storage strategy for the indexes and the actual data.

Authors have pointed out the use of map-reduce in creating the reverse index. In this chapter also they have tried to give the practical aspect of using the technology to solve the real life problems.

Authors have presented several case studies to explain how the search functionality finds it usage and in order to build that capability what needs to be done .They have given an example of searching technical documentation where they have explained the concept of boosting in detail and how to create a search engine for finding the correct chart in financial enterprise using the XML based database and Lucene. Finally they describe a common problem present in every software organization where you have lot of project documents (SDLC documents) in various formats like docx, pdf, jpeg but no easy way to find the information from them. They suggest how NoSQL can be of use in this scenario.

In chapter 8 Authors have given a good introduction to the subject of high availability taking an e-commerce website example. They have tried to point out the business impact of database going down while the customer is online. They have explained various jargons associated with High availability like Failure metrics, automatic failover, Client yield, Harvest Metric, Load balancing, Clusters, and Replication etc.

Authors have emphasized on the design pattern which advocates for moving query to the data and not the data to the query to save the time & network bandwidth in transferring large chunk of data from one node to the processing node. Also the query can be distributed and can use the processing power of the various nodes (shared-nothing architecture).

Authors have presented the case study of 3 popular NoSQL solutions which are known for their high availability features. They point out that Amazon DynamoDB provides the flexibility to the user to choose the read and write throughputs, type of read consistency & scale up or down to support the elastic demand. However in this case study I did not find clear picture of how the high availability is maintained in DynamoDB. What I understood was how flexible the option is.

Authors have then presented a case study on Cassandra & Couchbase and how it meets the high availability expectations. The discussion is brief and is approached from reliability & high availability perspective

I did not like Chapter 9 which is on agility because the only take away for me was that NoSQL databases are schema less so it is easy to change the fields, which I think has been covered in the introductory chapter. The case study did not help me to understand the agility part and I doubt if the arguments are correct. I think this chapter can be avoided or the main points be included in some earlier chapters

Chapter 10 is a heavy weight chapter and should be read with relaxed mind. I however don’t understand the utility of this chapter in the NoSQL book. This chapter forms the fundamentals of the functional programming and hence the map-reduce. The chapter provides very high level overview of the functional programming but since the topic is complex, high level description does not serve much purpose. I think the section where the authors have given a comparison of imperative and functional programming with a diagram that could be all that they should have provided followed by the map-reduce. This could have therefore moved to the chapter 6 where they introduce the map-reduce.

“Apply your knowledge section” does not connect the dots. How is the content related to NoSQL and why it could not have been in a functional programming book? Also the whole argument of cache and relating to functional programming does not make sense. But again this is my view
The only good part is the introduction to Erlang as it gives an idea as to why it is becoming so popular.

Chapter 11 has nice details on implicit requirement to have security feature in various NoSQL databases. This is a nicely written content and is an easy read. Authors help us to first understand the fundamentals involved with building the security in a database solution which boils down to 4 key aspects: authentication, authorization, audit, and encryption processes. You want to make sure that only the right people have access to the appropriate data in your database. You also want to track their access and transmit data securely in and out of the database.

The chapter also points that RDBMS are better off than the NoSQL since they have quite matured security system. In case of NOSQL it is still not matured. They have discussed that the security can be shared at the application and the database level. Then the authors tried to give a map of various techniques and their relative advantages overs each other.

Authors have taken few case studies to show how popular services implement their securities and to what granularity. Amazon S3 provides the bucket level security while Apache Accumulo the authorization is applied to each of the key value pair. The user can be denied access to particular keys.

In the last chapter, Authors have pointed that it is not a simple exercise to decide upon the right database solution for the project. Non-familiarity with the NoSQL paradigm might be the greatest hurdle for the project team to accept it as a data base option. They might be biased towards a particular RDBMS technology which they have been using for decades.
Authors have presented an architectural trade off analysis to objectively select the right DB that’s the best fit for a business problem. This is basically intended to list and prioritize the business requirements and then to score the effort required to choose a particular NoSQL solution to implement them. There is a long list of dos and don’ts for creating an architectural team. Then there are guidelines of how to go about doing the trade-off analysis.

Authors have suggested that apart from comparing the database solutions from technical capability like indexes, query support, web access, they should also be compared on the quality parameters like scalability, availability, portability, searchability, agility.

Authors have given a nice diagram (Quality Tree) that shows how the different quality parameters can be quantified in terms of specific features like searchability: transforms to full-text search, xml search, custom scoring and how each of the features are prioritized for the organization. Sometimes the quality tree helps in bringing the stake holders on the same page specially in case when the there is a mixed audience and they might not be conversant with the technological jargons

I think this chapter is meant for the project managers or the architects who are trying to get the nod of the management and the other stakeholders. Techniques like the quality tree, architectural trade off analysis that will help in preparing a strong case and driving the point across the table.

To summarize:

One problem I have seen consistently with this book is that the introduction section in each chapter lists down some topics which are intended to be covered in that chapter but the coverage is not proper. Few of the topics are not covered or are insignificantly covered. I think, that might get resolved in future editions of this book. Even the title of case studies and the content of case studies are not similar. Sometimes the case studies are more on a product than the concept that was being discussed in the chapter.

Authors generally introduce the topic in a very simple manner giving examples and pictures. The case studies are something which can be a very good way to show the applicability of the topic in the real life system so that the readers can know how to apply the concepts. Unfortunately even though each chapter has lot of case studies but with almost all the case studies there are missing information or digressions which do not help the author in effectively summarizing the topic. They are good to read independently but when you try to see the applicability of the topic in discussion I find some gaps. Hopefully these gaps will be filled in the upcoming editions.

Even though there are problems with the content but there are advantages too. The biggest advantage of this book is that it has covered topics like full text search, high availability, map reduce using NoSQL database which generally other books don’t cover or maybe they cover it in their further reading sections. So it is a good book to get the introduction of the complexity and opportunities provided by NoSQL databases. The case studies point out how complex scenarios can be resolved using NoSQL solutions which were very difficult to implement few years back.

My recommendation is that this book should be read to get a wide perspective of the subject and not to become master of the subject.

2 reviews
January 22, 2014
"Making sense of NoSQL" is a brilliant book because it isn't just about making sense of NoSQL. As the author states, to the NoSQL community NoSQL stands for "Not only SQL". And that's true, at least, for the book itself.

The book introduces you to the NoSQL (non RDBMS) defining NoSQL, its basic concepts and the business drivers whose broadened its adoption (Part 1 of the book).

But "Making sense of NoSQL" it's not just about the concepts behind NoSQL. Concepts behind RDMBS are also reviewed and compared with those of NoSQL, so you can get the whole picture. It's just like looking through a door's keyhole or just having the door opened. Only when understanding the concepts and motivations behind RDBMS and NoSQL patterns you'll have that door open. It helps a lot that the author discussed and reviewed all concepts in a clear and intelligible manner (Part 2).

It's also about problem solving: problems being solved with RDBMS and problems solved with NoSQL. So how to approach the new issues presented by big data, search modeling, high-availability and increased agility? The author does a great job again explaining those subjects and including meaningful example scenarios (Part 3).

"Making sense of NoSQL" also includes advanced topics (Part 4): functional programming is briefly described, as it could be a book subject by itself; security models are described with enough detail, providing some helpful hints; and finally there's a chapter focused on a formal architecture trade-off process to select the right database architecture for your business projects which looks promising - I am eager to test it!

Why would I recommend this book? I have been involved in IT projects always relying on RDBMS and I had no idea about NoSQL systems. After reading this book, I am confident I have a solid foundation to face any project involving NoSQL.
Who would I recommend this book to? It should be a must-read for IT architects and serious developers.
1 review
January 25, 2014
I enjoyed reading making sense of nosql. I'm a technical lead and most of my experience is with relational databases but I'm very interested in what nosql can provide hence why I read the book. There's a high level introduction for a couple of chapters. Then a chapter on how SQL fits in alongside noSQL in a datawarehouseing perspective. After that it's an overview of the different flavours of noSQL database there are - cache, key-value-store, column family, document, xml. The authors give very in depth analysis of how one might use some of these types of databases while solving a business problem - big data, search, high availability.

I was already using SOLR as a search database and Redis as a key-value-store/cache so it was interesting to read the chapters on search and high-availability, I definitely think I got some tips to take away from that. The book has made me aware of databases like Riak which is an implementation of amazons key-value paper. This offers a db with amazing scalability and could be to run something like an image store with attached meta-data.

One thing to note is there is no implementation guidelines or really any in depth product analysis - i.e Use SOLR for searching xyz or use ElasticSearch for doing abc. There are case studies but I personally didn't get much from them and tended to skim them. The chapter on functional programming seems like a bit of an after thought to me. It might be worth mentioning that functional programming is more suited to multi threaded programming but a whole chapter in a noSQL book seemed a bit out of place.

Definitely worth a read as it's a good starting point for learning about what's out there.
1 review
February 9, 2014
A really good starting point for NoSQL databases or solutions, but maybe not for managers.

I have been undecided between 4 and 5 stars, but finally chose 4 stars. Making Sense of NoSQL is really a good starting point for working on NoSQL solutions, but I think not really focused on managers. Instead, it is more focused on solution consultants and architects.

It starts by giving a thorough definition of what NoSQL databases are and what they are not. I really liked the approach of showing the currently available different types or architectures of NoSQL databases:
- key/value stores,
- graph stores,
- column family stores,
- document stores,
- and variants of them) .
These are also called data architecture patterns within the book.

The book is full of facts and reads good, but for finally getting 5 stars I would like to see it to be readable more fluently. Several times, I had to read paragraphs again and several times I also had a deja vu, because there were some part repeated. I find it curious that figure captions are very long like providing a full paragraph describing the whole figure. This gets repeated in the normal text again. It could have made better by just providing a short caption and describing the content within the text.

A very nice idea/concept is the introduced fictional consultant Sally that is always used to apply what you've just learned during a chapter or section. Several case studies give a short glimpse on possible architectures, approaches, and databases.

You'll get a rough understanding on how all the social networks and intelligence agencies work with big data.

I am missing an overview about the most commonly used NoSQL databases, especially the hyped ones like MongoDB, Redis, ... There are a whole bunch of databases (open source and commercial) mentioned within the book though.

Each chapter ends with references to further readings to deepen your knowledge, but most of them lead to wikipedia, which I found not that good.

The author has a strong focus on XML databases and XML technology and could be misleading managers as the target group of this book, because in my opinion and from my 10+ years experience in web technologies, digital libraries, and content management systems, XML and especially XPath, XQuery are not easy to learn and use for non-programmers. I cannot see why this should be easier than using SQL. I think, you will have the same problems with that. Thus, the book is a bit to optimistic in that area.

As stated above, it is called guide a guide for managers, I'm a bit disappointed that in my opinion this book focuses on solution architects, not on managers. I think it is too much information and sometimes too detailed for managers to get an overview and be able to choose a NoSQL solution. Only the last chapter would be some kind of good fit for a project manager. This chapter is good in giving an overview about several manager topics like communication, project management, and evaluation processes, too name only a few, but this is not very specialized on NoSQL. It could be part of any book an software.

Overall, I rate this book with 4 stars.
Profile Image for Arthur.
96 reviews5 followers
January 7, 2014
For many folks in the IT industry NoSQL remains a buzz-word or gimmick, although a persistent one.

So if by now it has made you curious what is this all the fuss around about look no further than getting this more than insightful read. I had almost non-stop fun reading this 300 pages plus book, but more importantly it is very educational even beyond the NoSQL world - it offers a wealth of advice, as any good technology book should do, to any IT practitioner be it a manager or just a member of a team.

Specifically, it serves as a guide to modernizing your business, placing it ahead of the competition preparing to the next iteration in the data handling. I trust those who choose to adhere to implementing the principals outlined in the book effectively position their business and themselves to rip all the benefits of the future IT leaping ahead of the competition.

The book surprisingly is mentioning not only the databases, but also the programming languages as Erlang, Clojure that gained so much traction in the few past years. It gives a good overview on the existing search technologies which is a good asset as well as some Big Data attributes as MapReduce. The book discloses without bias any limitations a NoSQL solution may bring with it. At the same time the book succeeded to remain platform and vendor neutral.

Dan McCreary and Ann Kelly do turn out to be world class, seasoned consultants who I would love to work with, they both are very well verified methodologies aware and best practice followers.

The book is very cleverly structured taking a reader from basics and theory to practical analysis and real world examples.

Even though this book remark targets the managerial staff I’d say it is also well suited for even a junior IT practitioner. And that is for the reason being a book that gives you a look at a “bigger picture”.

I imagine it could be a good book to read during lunches together with my teammates at work and we could discuss it thereafter.

On the negative side, if even I can hardly justify perhaps the use this word, the time devoted to XML in this book was a tad too long, again, it could be because of me who dislikes the overly verbose and bloated data format that for example should have no place in a RDBMS.

The book will definitely give you a glimpse to where the next generation data storage and processing is heading toward. It is fully evident that the authors have a comprehensive knowledge in the NoSQL subject yet remain objective.

So it is a very well balanced, not denying RDBMS at the threshold book that certainly deserves your time. A 5 out of 5 stars.
1 review1 follower
August 3, 2016
I read this book expecting an explanation of what the NoSQL movement encompasses and why I should care. It does an excellent job of breaking both of those questions down to their basic components and then building a conceptual framework for evaluating and selecting a database from both RDBM and NoSQL systems. This book does NOT go into the technical details of how to use NoSQL systems other than touching on various tools to use with various NoSQL systems and enumerating a few of the nitty-gritty differences between NoSQL options.

In more detail, here are what you can expect to have learned after reading this book:

1. What the term “NoSQL” means. Like all buzzwords, this term is commonly misunderstood and misused. This book will give some background on where the term came from, what it means and what it doesn’t mean.

2. The architectural options available in NoSQL dbs. Starting with RDBMs (since they define NoSQL to mean “Not only SQL”), the authors enumerate the origins and purpose behind a number of different database architectures.

3. How to use various NoSQL databases to create solutions to various business problems. I found this section to be the most exciting part of the book. I work for a startup, and as I read through each presented solution, I considered the parts of our business which might benefit from the concepts being presented. There were many parts which immediately gave me ideas of how to better solve issues we are facing.

4. How to select the right NoSQL solution (again, remember that NoSQL means “Not only SQL”) for the business problem you are currently facing. This section does an excellent job of presenting steps to take to evaluate the tradeoffs in the selection of a particular db solution.

5. Important concepts which align well with the goals of the NoSQL movement. Functional programming, business analysis etc. The book covers a lot of material which is not strictly the what and why of the NoSQL movement, but is important to consider when evaluating database solutions.
Overall, the book far exceeded my expectations and I learned a great deal from nearly every single section.

One minor nitpick:
Some of the diagrams look like they were put in because they were aiming for a certain diagram/page ratio. A particularly humorous example is found on page 7, where the business drivers of volume, velocity, variability and agility are illustrated applying pressure to a single CPU system by a circle with four arrows pointing at it. The illustration has exactly zero explanatory benefit!
1 review
February 9, 2014
This is a good book for technical managers and senior developers who are exploring NoSQL technologies in their environment. It provides a very good, broad foundation in NoSQL, starting with the benefits and different types of NoSQL systems (e.g. key/value stores, graph stores, column stores and document stores) with a few example products of each type.

It contains case studies of using relevant systems in use on sites like Amazon, Google, Apache and LiveJournal, and considerations when implementing NoSQL where there are varying degrees of risk, such as a sales orders system versus a read-mostly search platform.

It explains how systems using NoSQL ("Not Only SQL") technologies can complement existing traditional RDBMS-powered systems, rather than replace them altogether. It discusses which NoSQL systems are suited for different kinds of optimization of legacy systems, depending on the technical benefits required. While less technical than later sections, these chapters may help in the practical implementation of NoSQL within business, for example by helping to achieve buy-in from stakeholders by positioning the adoption of NoSQL alongside existing relational databases, in order to increase the features available or to address an underlying weakness.

The second half of the book deals with how to scale NoSQL systems for big data, native XML databases, high availability, search, security and some functional programming. While this is not a book for detailed implementation of a specific solution, it provides a moderate level of technical detail in the course of discussing the different systems, such as native XML databases and Erlang code.

Each chapter contains the main text, charts & diagrams, and one or more case studies. This is followed by a short summary, and a section on further reading, with both web URLs and books for each of the topics covered in that chapter. Taken together this is a comprehensive introduction to the NoSQL world. While some of the material was a bit dense for me at times, it’s helped me to understand the overall NoSQL landscape and provided me with a base level of understanding of the different systems available. Well worth it.
2 reviews
January 23, 2014
As someone who has experienced trying to introduce colleagues, both technical and non technical to the idea of NoSQL, I have first hand experience of how hard it can be for people after years of working with RDBMS to see another way of dealing with data. I wish I'd read this book first as it would have greatly helped me explain NoSQL in a way which is relevant to both management, concerned with the bottom line, and technology decision makes.

If you are looking to get an understanding of what NoSQL is and if it is relevant to you look no further. The book provides a great introduction to the different groups of databases that exist within NoSQL, the terminology associated with it, the business drivers (spoiler not just big data) and situations the different types of NoSQL database excel in.

Before you invest time in specific implementations you need to have an understanding of what type of database is relevant and the features that you need to look out for and this book arms you with that knowledge. You come away feeling you could make an informed decision.

In particular I enjoyed the large number of case studies included in the book which really helped build my understanding of how the technology can be leveraged and would be great for illustrating how it can be used to others. It's a good sized book but the authors provide a summary about each chapter helping you pick out what is relevant to you. They've also put together a good list of additional reading for each chapter.

This book does not take a relational database bashing position instead it offers a balanced view with the emphasis on 'Not Only SQL' helping you see where RDBMS is best, where NoSQL could be a better option and that they don't have to be mutually exclusive. It also includes XML databases which is something I hadn't looked at before.

This book is not suitable for a complete non techi looking to understand NoSQL as it covers a lot of ground but for someone like myself with a technical background looking for an overall understanding it didn't disappoint.
2 reviews
February 6, 2014
This is a book for manager and developers who wants the broad understanding of what NoSQL is and isn't. As a developer that knows nothing about NoSQL, you will not be able to read this book and begin implementing a NoSQL solution. For the details of how to program against these databases you will have to look elsewhere (and the book never promises that you will be able to). You will however know and understand the different kinds of NoSQL databases and when to use which type. This is explained really good - Both with technical details and examplified with case studies.

The book is split into four parts:
The first part is an introduction to NoSQL concepts and the benefits of NoSQL. This part is a bit annoying, because it is repeatetly said that NoSQL is better and scales bettder than relational databases, but I don't feel the author gives an explanation as to why this is true - it feels a little like the author is preaching NoSQL, and at least there is no doubt he is a fan. This is rectified plenty in the later sections, so if you are like me, just push through, and you will get to the good stuff.
The Second part is a walkthrough of the different kind of databases, bot the relational and NoSQL databases. This gives a good understanding of what each type does well and not so well.
The third part is about NoSQL solutions with discussions about scaling, search and performance of different systems with references to real world solutions.
The fourht and last part is about the use of functional programming and utilizing the parallelism of NoSQL systems, which typically have many thousand CPUs.

This is a great book to get an overview of what NoSQL is and when to apply it.
1 review
February 4, 2014
The book takes a nice balanced and informative perspective to the different types of NoSql, (such as Key-value store, Column family store, Graph store and, Document store), it goes on to explain their typical usages and maps then to the available implementations.
A number of real-life case studies are also presented to demonstrate why it was developed and the problems it was designed to resolve.

It also goes on to explain about the ACID vs BASE and the trades off from Brewer's CAP theorem over databases.
A lot of the NoSQL related gimmicks/jargon are explained very well.

The book focuses on workflows and decision-making processes, towards the end of the book its all about taking an informed approach to pick the right NoSQL solution.

Overall it takes a broad approach to discussing NoSQL and all those confusing options that is available and the limitation of hardware scalability such as scaling up or scaling out.

The book is not quite written for non-technical audience so knowledge of database is required to actual understand why NoSQL is about.
For developers it helps with working out which type of NoSQL to uses to tackle a problem domain, leading on to getting a more specific book to read.
From a business point of view its makes a strong stand of why this particular NoSQL implementation should be used over other databases/NoSQL implementations, how to keep existing infrastructure and use new technology to continue growth.
For students a really good book to study from with regards to big data.
3 reviews
January 19, 2014
This is a comprehensive guide for any NOSQL practitioner.

This book did a good job of collecting and presenting the database concepts in a pattern-oriented mode so that practitioners can pick the pattern that is most closely matching to their problem.

The database patterns part of the book in the early sections covered traditional RDBMS architectural patterns, which forms the base foundation for any data manipulation architecture. Then the book moves towards the NOSQL architectural patterns detailing the key-value stores, graph stores and document stores, covering use-cases for each of them, which is valuable for any NOSQL practitioner.

In the later sections, NOSQL solutions and their security aspects, which is comprehensive coverage. Specially the chapters "finding information with NOSQL" and "building high-availability solutions with NOSQL" are going to be very useful for anyone dealing with real-time analytics on big-data, which is the much demanding requirement from customers these days.

The book closes with discussion on how to select the right NOSQL solution, which is invaluable for any one standing at the junction of NOSQL choices in their project initial stages.

I would recommend this as a definitive guide for anyone working on NOSQL.
Profile Image for Kathleen Estrada.
1 review
Read
February 18, 2014
This book was very insightful and helpful to me. As a Database Analyst, it is sometimes difficult for me to sort through the quickly changing trends in technology and find the trends that are here to stay, and what I should spend my time learning. NoSQL was not something I was ready to jump into with both feet, and to be honest, I am still not ready.

However, after reading this book, I have lost my die-hard "Oracle or Nothing" attitude. This book was helpful in showing me how to take an honest look at how we do business and see if, maybe, some of it could benefit from a NoSQL approach. If you are all Oracle and MySQL, this book keeps you firmly in your comfort zone. It explains the features of NoSQL, but also helps you understand when it would be better to stick with the old SQL way.

By the end of the book you will find more than one way that using the NoSQL approach in one or two areas of your current databases will save you both time and money. You will also have a better understanding on the wave of the future (OK, the wave of the now) in Cloud Databases.
Profile Image for Christophe Addinquy.
390 reviews19 followers
May 7, 2017
A world tour on NoSQL databases, this is the promise of this book. The target is essentially the managers, but it appears to be too much wordy for such an audience. Each kind of database is essentially described through its technical perspective, not its paradigm or essential use case, wich is again paradoxal for a book dedicated to managers. The authors has worked a lot on XML databases: the bias is apparent considring the space dedicated to the subject. It's not a wise choice.
In short the book is not too bad, but disappointed.
ma note de lecture en français ici
Profile Image for Maciej Szopinski.
8 reviews
November 8, 2014
A quite good introduction to the NoSQL world. Covers a great variety of storages, but examples focuses mainly on CouchDB. It merely scratches the surface of other engines, so don't get your hopes up much, because after reading this book you will still have to dive into specifics somewhere else in order to get the big picture.
Profile Image for John Fredrickson.
731 reviews23 followers
September 23, 2014
This is an outstanding book - its breadth is quite remarkable, but it is quite readable. The book felt like it focused a little much on MarkLogic and xquery, but it really covered a lot of material, and did so quite well.
Displaying 1 - 15 of 15 reviews

Can't find what you're looking for?

Get help and learn more about the design.