You are viewing an old version of this content. View the current version.
Compare with Current View Version History
« Previous Version 7 Next »
NoSQL datastore when
Relational database when
High volume of workloads (need latency in milliseconds while performing millions of transactions per second)
Workload volume fits within thousands of transactions per second
Data is dynamic and frequently changes
Data is highly structured and requires referential integrity
Relationships can be de-normalized data models
Relationships are expressed through table joins on normalized data models
Data is expressed without table joins
Data with complex queries and reports
Data is replicated across geographies and requires finer control over performance, availability and consistency.
Data is centralized or can be replicated regions asynchronously
For commodity hardware (app deployed in public clouds)
High-End hardware (app deployed to large and high-end hardware)
Key-Value DB
Store session info
User preferences or settings
Shopping carts
Product recommendations
News Feed Publishing & Retrieval
…
Dynamo DB, Redis, BerkleyDB.
Pros
Cons
Document Stores
User Profiles to store different types of info
Management of content (video, images, comments, etc.)
MongoDB, Couch, Lotus Notes.
Wide-Column Store
Business Intelligence
Managing data warehouses
Reporting systems
Google’s Bigtable, Cassandra, HBase.
Graph DB
Social networking site
Recommendation engine
Logistics
Risk assessment
Fraud detection
Neo4j, OrientDB, Allegrograph.
On this page.