Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 6 Next »

1- Vertical scaling vs Horizontal scaling

2- SQL vs NoSQL

When to consider a NoSQL datastore ?

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)

When to use which types of NoSQL DB ?

Key-Value DB

  1. Store session info

  2. User preferences or settings

  3. Shopping carts

  4. Product recommendations

  5. News Feed Publishing & Retrieval

Dynamo DB, Redis, BerkleyDB.

Pros

Cons

Document Stores

  1. User Profiles to store different types of info

  2. Management of content (video, images, comments, etc.)

MongoDB, Couch, Lotus Notes.

Wide-Column Store

  1. User preferences or settings

  2. Business Intelligence

  3. Managing data warehouses

  4. Reporting systems

Google’s Bigtable, Cassandra, HBase.

Graph DB

  1. Social networking site

  2. Recommendation engine

  3. Logistics

  4. Risk assessment

  5. Fraud detection

Neo4j, OrientDB, Allegrograph.

Master-slave replication

Read replicas

Consistency models

Database Sharding

Web Tier Stateless

Multiple Data Centers

Fault Tolerance

On this page.

  • No labels