NoSQL Comparison

NoSQL Type Comparison

DatabaseTypeData ModelBest ForConsistency
MongoDBDocumentJSON/BSON documentsFlexible schemas, general-purposeStrong (replica set) / Eventual
RedisKey-Value / In-MemoryStrings, Hashes, Lists, Sets, ZSetsCache, sessions, leaderboards, pub/subStrong (single) / Eventual (cluster)
Apache CassandraWide ColumnTables with partition + clustering keysTime-series, write-heavy, global scaleTunable (ONE to ALL)
Amazon DynamoDBKey-Value + DocumentItems with PK (+ optional SK)Serverless, predictable latency at scaleEventual / Strong (option)
ClickHouseColumnar OLAPColumns, materialized viewsAnalytics, aggregations, log analysisEventual
Neo4jGraphNodes + Edges + PropertiesRelationships, fraud detection, recommendationsStrong (ACID)
InfluxDBTime SeriesMeasurements, tags, fields, timestampsMetrics, IoT, monitoring dataEventual

CAP Theorem in Practice

CategoryGuaranteesExamplesTradeoff
CP (Consistent + Partition-tolerant)Data is always consistent; may reject writes during partitionMongoDB (w:majority), HBase, ZookeeperAvailability drops during network partition
AP (Available + Partition-tolerant)Always responds, but may return stale dataCassandra, DynamoDB, CouchDBReads may be stale; eventual consistency
CA (Consistent + Available)Consistent and available — no partition toleranceTraditional RDBMS (single node)Cannot scale horizontally across network

Selection Guide

Choose MongoDB when: ✓ Flexible / evolving schema ✓ Rich document queries needed ✓ General-purpose application database ✗ High write throughput at global scale (use Cassandra) Choose Redis when: ✓ Sub-millisecond latency required ✓ Caching, rate limiting, sessions, pub/sub ✗ Durability is critical (data in memory) Choose Cassandra when: ✓ Billions of rows, multi-region writes ✓ Time-series or append-heavy workloads ✗ Complex queries, joins (model around queries) Choose DynamoDB when: ✓ AWS-native, serverless, auto-scaling ✓ Single-digit millisecond latency at any scale ✗ Complex queries (requires careful data modeling) Choose ClickHouse when: ✓ Analytical queries on billions of rows ✓ Real-time aggregations, dashboards ✗ OLTP workloads (low-latency writes per row)