NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence by Pramod J. Sadalage
Review
Very complete and honest book about currently available NoSQL technology. Contains a lot of cases when it would be wise or unwise to switch from relational databases and what the consequences would be in each case. Well written!
notes
Takeaways:
Nosql is pretty cool, good for fast schemaless development and scales incredibly well.
However, practical use is scenario dependent. It makes perfect sense to offload an io intensive part of your application to a nosql database to increase availability and throughput, but these upgrades come at the cost of partitioning and eventual consistency of data.
This is great and all, if it doesnt matter that you sometimes retrieve stale data or have a conflict in multiple write scenario. I found out that for certain, and maybe even the majority of applications, a relational database suits a whole lot better because of it’s transactions and guaranteed consistency.
If I were to build a high traffic web application I will be sure to implement the heaviest / most intensive data entities in a nosql solution to ensure scalability but for core functionality where consistency is very important I’d rather take the performance hit and make sure no data integrity is lost.