What is the difference between Cassandra and MongoDB?
Compare Cassandra and MongoDB: data models, write architecture, querying, consistency and scale, and learn when to choose each NoSQL database.
Expected Interview Answer
Cassandra is a masterless, wide-column NoSQL database built for write-heavy scale and continuous availability, while MongoDB is a document-oriented NoSQL database with a primary-secondary model, rich queries, and flexible JSON-like documents. The core split is Cassandra's peer-to-peer write availability versus MongoDB's flexible document model and query power.
MongoDB stores data as BSON documents, supports secondary indexes, ad-hoc queries, and aggregation, but writes go through a single primary per shard with automatic failover. Cassandra stores rows in a wide-column partitioned model, accepts writes on any node with tunable consistency, and has no master to fail over. Choose MongoDB for flexible schemas and rich querying; choose Cassandra for extreme write throughput, always-on availability, and multi-data-center replication.
- Cassandra: always-writable masterless nodes
- Cassandra: superior write throughput at scale
- Cassandra: seamless multi-data-center replication
- MongoDB: flexible document (JSON/BSON) model
- MongoDB: rich ad-hoc queries and aggregation
- MongoDB: secondary indexes and easier querying
AI Mentor Explanation
MongoDB is like a versatile all-rounder scorebook: each entry is a flexible card you can query many ways, but one captain per squad signs off writes. Cassandra is like a fielding side with no captain where any player can record a run instantly, duplicated across the ground. You pick MongoDB for rich, flexible stat lookups and Cassandra for never missing a delivery even when a key player walks off.
Step-by-Step Explanation
Step 1
Compare data models
MongoDB stores flexible BSON documents; Cassandra stores rows in a partitioned wide-column model.
Step 2
Compare write architecture
MongoDB routes writes through one primary per shard; Cassandra accepts writes on any node in a masterless ring.
Step 3
Compare querying
MongoDB offers rich ad-hoc queries, secondary indexes, and aggregation; Cassandra favors queries served by the table's partition key.
Step 4
Compare consistency and availability
MongoDB uses primary-based consistency with failover; Cassandra offers tunable consistency with no failover needed.
Step 5
Choose per workload
Pick MongoDB for flexible schemas and rich queries, Cassandra for write-heavy, always-on, multi-DC scale.
What Interviewer Expects
- Document model versus wide-column model
- Single-primary writes versus masterless writes
- Query flexibility versus write scalability
- Consistency and availability trade-offs
- Which workloads suit each database
Common Mistakes
- Treating both as interchangeable NoSQL databases
- Assuming Cassandra has MongoDB's ad-hoc query flexibility
- Assuming MongoDB is masterless like Cassandra
- Ignoring Cassandra's multi-data-center strength
Best Answer (HR Friendly)
“MongoDB stores data as flexible documents and lets you search it in many rich ways, with one main server leading writes. Cassandra spreads data across equal servers so any of them can accept writes instantly, making it better for huge, always-on, write-heavy workloads.”
Code Example
// MongoDB: flexible document with ad-hoc query
db.users.insertOne({ _id: 1, name: 'Ada', roles: ['admin', 'editor'] });
db.users.find({ roles: 'admin' });
// Cassandra (CQL): wide-column row, queried by partition key
// CREATE TABLE users (user_id INT PRIMARY KEY, name TEXT);
// INSERT INTO users (user_id, name) VALUES (1, 'Ada');
// SELECT * FROM users WHERE user_id = 1;Follow-up Questions
- Why can any node accept writes in Cassandra?
- How does MongoDB handle failover?
- When is a document model better than wide-column?
- How do secondary indexes differ between the two?
- Which is better for multi-data-center deployments?
MCQ Practice
1. How does MongoDB handle writes within a shard?
MongoDB routes writes through one primary per shard, with automatic failover to a secondary if it fails.
2. What data model does Cassandra use?
Cassandra stores data in a partitioned wide-column model, while MongoDB uses flexible BSON documents.
3. Which is generally the better fit for extreme write throughput and always-on availability?
Cassandra's masterless architecture accepts writes on any node, making it strong for write-heavy, always-on workloads.
Flash Cards
MongoDB data model? — Flexible JSON-like BSON documents with rich querying and secondary indexes.
Cassandra data model? — Partitioned wide-column rows queried mainly by the partition key.
Write architecture difference? — MongoDB: single primary per shard; Cassandra: masterless, any node accepts writes.
When pick Cassandra over MongoDB? — For write-heavy, always-on, multi-data-center scale over rich ad-hoc querying.