One of the most basic choices to make when developing an application is whether to use a SQL or NoSQL database to store the data. “NoSQL” simply means non-relational and not SQL. It’s sometimes referred to as unstructured storage.
Like any type of database, NoSQL systems are used for storing and retrieving data. But NoSQL systems store and manage data in ways that allow for high operational speed and great flexibility which is extremely useful for big data databases and cloud databases.
There are many different ways to implement NoSQL technology. But regardless of the implementation, this technology typically has the common attributes:
- Dynamic schemas – built to allow the insertion of data without a predefined schema.
- Auto-sharding, replication and integrated caching.
- Horizontally scalable.
The following NoSQL books warrant our recommendation. They are each released under an open source license.
By J. Chris Anderson, Jan Lehnardt, and Noah Slater (272 pages)
Three of CouchDB’s creators show you how to use this document-oriented database as a standalone application framework or with high-volume, distributed applications. With its simple model for storing, processing, and accessing data, CouchDB is ideal for web applications that handle huge amounts of loosely structured data. That alone would stretch the limits of a relational database, yet CouchDB offers an open source solution that’s reliable, scales easily, and responds quickly.
CouchDB works with self-contained data that has loose or ad-hoc connections. It’s a model that fits many real-world items, such as contacts, invoices, and receipts, but you’ll discover that this database can easily handle data of any kind. With this book, you’ll learn how to work with CouchDB through its RESTful web interface, and become familiar with key features such as simple document CRUD (create, read, update, delete), advanced MapReduce, deployment tuning, and more.
This book is licensed under a Creative Commons Attribution license. That means you’re free to share and distribute the book.
By Karl Seguin (66 pages)
The Little MongoDB Book is a free book introducing MongoDB.
The Little MongoDB Book book is licensed under the Attribution-NonCommercial 3.0 Unported license.
There are translations for Russian, Chinese, Italian, Spanish, Japanese, and German.
By Eric Redmond & John Daily (134 pages)
Riak is an open-source, distributed key/value database for high availability, fault-tolerance, and near-linear scalability.
This is not an “install and follow along” guide. This is a “read and comprehend” guide. According to the authors, the most important section of this book is the concepts chapter.
After laying the theoretical groundwork, the authors move onto helping developers use Riak, by learning how to query it and tinker with some settings. Finally, they cover the basic details that operators should know, such as how to set up a Riak cluster, configure some values, use optional tools, and more.
This work is licensed under the Creative-Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
By Karl Seguin (31 pages)
The best way to learn Redis is still to start by understanding the fundamentals presented in this book.
The book is many years old, but still relevant.
The Little Redis Book is licensed under the Attribution-NonCommercial 3.0 Unported license.
There are also Russian and Italian translations available.
We have published a series covering the best open source programming books for popular languages. Read them here.