The past 15 years have witnessed a massive change in the nature and complexity of web applications. At the same time, the data management tools for these web applications have undergone a similar change. In the current web world, it is all about cloud computing, big data and extensive users who need a scalable data management system. One of the common problems experienced by every large data web application is to manage big data efficiently. The traditional RDBM databases are insufficient in handling Big Data. On the contrary, NoSQL database is best known for handling web applications that involve Big Data.
All the major websites including Google, Facebook and Yahoo use NoSQL for data management. Big Data companies like Netflix are using Cassandra (NoSQL database) for storing critical member data and other relevant information (95%). NoSQL databases are becoming popular among IT companies and one can expect questions related to NoSQL in a job interview. Here are some excellent books to learn more about NoSQL.
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
(By: Eric Redmond and Jim R. Wilson )
This book does what it is meant for and it gives basic information about seven different databases. These databases include Redis, CouchDB, HBase, Postgres, Neo4J, MongoDB and Riak. You will learn about the supporting technologies relevant to all of these databases. It explains the best use of every single database and you can choose an appropriate database according to the project. If you are looking for a database specific book, this might not be the right option for you.
NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence
(By: Pramod J. Sadalage and Martin Fowler )
It offers a hands-on guide for NoSQL databases and can help you start creating applications with NoSQL database. The authors have explained four different types of databases including document based, graph based, key-value based and column value database. You will get an idea of the major differences among these databases and their individual benefits. The next part of the book explains different scalability problems encountered within an application. It is certainly the best book to understand the basics of NoSQL and makes a foundation for choosing other NoSQL oriented technologies.
(By: Shashank Tiwari )
This book starts well with an explanation of the benefits of NoSQL in large data applications. You will start with the basics of NoSQL databases and understand the major difference among different types of databases. The author explains important characteristics of different databases and the best-use scenario for them. You can learn about different NoSQL queries and understand them well with examples of MongoDB, CouchDB, Redis, HBase, Google App Engine Datastore and Cassandra. This book is best to get started in NoSQL with extensive practical knowledge.
Getting Started with NoSQL
(By: Gaurav Vaish )
If you planning to step into NoSQL databases or preparing it for an interview, this is the perfect book for you. You learn the basic concepts of NoSQL and different products using these data management systems. This book gives a clear idea about the major differentiating features of NoSQL and SQL databases. In the next few chapters, you can understand different types of NoSQL storage types including document stores, graph databases, column databases, and key-value NoSQL databases. You will even come to know about the basic differences among NoSQL products such as Neo4J, Redis, Cassandra and MongoDB.
Data Access for Highly-Scalable Solutions: Using SQL, NoSQL, and Polyglot Persistence
(By: John Sharp, Douglas McMurtry, Andrew Oakley, Mani Subramanian, Hanzhong Zhang )
It is an advanced level book for programmers involved in web architecture development and deals with the practical problems in complex web applications. The best part of this book is that it describes different real-life web development problems and helps you identify the best data management system for a particular problem. You will learn best practices to combine different data management systems and get maximum output from it. Moreover, you will understand the polyglot architecture and its necessity in web applications.
The present web environment requires an individual to understand complex web applications and practices to handle Big Data. If you are planning to start high-end development and get into the world of NoSQL databases, it is best to choose one of these books and learn some practical concepts about web development. All of these books are full of practical information and can help you prepare for different job interviews concerning NoSQL databases. Make sure to do the practice section and implement these concepts for a better understanding.