Why NoSQL?
You Don't Want Structured Query Language
- No cramming your report-shaped problem into a Cartesian-product-shaped solution
- No special rules for NULL values
- No well-thumbed reference manuals
You Need True Horizontal Scalability
- More users/more queries? Add more hardware.
- Handle high ratio of writes to reads
Your Application Doesn't Map Well to Fixed Schemas
- Better for rapid prototyping
- Data enrichments don't require table rebuilds
- A more natural fit for heterogeneous, non- or poorly-specified datasets
Your Application is Friendly to Rich Data
- Streaming media
- BLOBs that you need to match against
- Keep in mind that there are no standards
Performance & Latency are More Important to You Than (continuous) Consistency
- High-traffic websites
- Personalized websites
- Mostly-siloed datasets
Next: NoSQL Implementations