The most popular and comprehensive Open Source ECM platform
NoSQL: Polyglot Persistence — Matching the Data Storage Tool to the Data
“NoSQL Distilled, A brief guide to the world of Polyglot Persistence” is a great new book by Pramod J. Sadalage and Martin Fowler, published by Pearson’s Addison-Wesley Professional. Both Sadalage and Fowler now work at ThoughtWorks, a consultancy that specializes in data storage technologies.
The book provides a concise and easy-to-understand overview of NoSQL databases. The writing style is very accessible and the total length of the book comes in at only 150 pages. It is perhaps one of very few technical books that most of its readers will be able to easily read from cover to cover. It’s a great starting point for coming up to speed on NoSQL technologies. [Chapter 13 of the book is available on-line for free here.]
The book provides good insight into understanding the basic differences between the many available NoSQL options, and the authors provide scenarios that demonstrate which types of data are best handled by different types of NoSQL databases.
The authors cite two primary motivations for adopting NoSQL technology:
- To improve programmer productivity
- To improve data access performance by being able to better handle large data volumes, reduce latency, and improve throughput
Sadalage and Fowler argue that, rather than force-fitting all data into the mold of a relational database, a case can be made for considering ‘polyglot persistence’, or the use of multiple types of data stores, selectively choosing the storage technology based on the structure of the data being handled. In a slidedeck from a presentation made earlier in 2012, Sadalage and Fowler say that “Polyglot Persistence is the use of multiple data storage technologies, chosen based on the way data is used by the individual application. Why store binary images in a relational database, when there are better storage systems?”
The book “NoSQL Distilled” classifies NoSQL databases into four categories. The breakdown of NoSQL technologies into those four categories, as described in the book, is shown below. A more extensive listing of NoSQL databases can be found here and detailed comments about NoSQL technology is also available online on a site written by Alex Popescu. Fowler and Sadalage note that while most NoSQL databases treat data as aggregations, there are some exceptions to this, like Graph databases.
| Key-Value Databases | BerkeleyDB |
| Document Databases | CouchDB |
| Column-Family Stores | Amazon SimpleDB |
| Graph Databases | FlockDB |













