Remember that Cassandra was designed with the premise that you're using huge amounts of data so arbitrary queries aren't expected to be scalable no matter the database. Cassandra makes huge tradeoffs to focus on scalability and availability, at the cost of flexibility. So, Cassandra is great when: You know how you're going to query the data You care more about availability/scalability than developer convenience You can 100% replace Mongo with Cassandra. And you can 100% use Cassandra as your primary data store. You just have to be deliberate and design your database. Answer from jjirsa on reddit.com
🌐
ScyllaDB
scylladb.com › learn › mongodb-database › apache-cassandra-vs-mongodb
Apache Cassandra vs MongoDB​ | ScyllaDB
March 31, 2026 - While their data models and query ... always-on applications. At a small scale, MongoDB can provide high performance for read and write operations, especially when properly indexed....
🌐
MongoDB
mongodb.com › resources › compare › cassandra-vs-mongodb
Cassandra Vs MongoDB Comparison | MongoDB
Cassandra offers a leaderless ring architecture, allowing users to write to any node. Therefore, Cassandra prioritizes write performance by default. Like MongoDB, Cassandra’s performance will be limited by consistency requirements.
People also ask

Why use MongoDB over Cassandra?
MongoDB offers a larger superset of features and abilities than Cassandra. With the correct schema and design pattern, MongoDB can cover the vast majority of use cases covered by Cassandra. Additionally, the MongoDB Atlas platform is a unique, world-class data platform offered by no other company or technology.
🌐
mongodb.com
mongodb.com › resources › compare › cassandra-vs-mongodb
Cassandra Vs MongoDB Comparison | MongoDB
How is Cassandra different from MongoDB?
Cassandra uses a cluster of nodes hosting wide-column tables queried by the CQL language. MongoDB stores its data in JSON documents, stored server-side in a binary JSON format called BSON. It uses a single query API called MQL to interact with the data within its databases and collections. Both MongoDB and Cassandra have built-in scalability features and high availability guarantees. However, the semantics and consistency guarantees are different.
🌐
mongodb.com
mongodb.com › resources › compare › cassandra-vs-mongodb
Cassandra Vs MongoDB Comparison | MongoDB
Are MongoDB and Cassandra the same?
No. MongoDB is a general-purpose, NoSQL document database while Cassandra is a wide-column NoSQL store. Many use cases can be covered by each database, but their differing architectures will drastically impact application design, efficiency, and cost to maintain.
🌐
mongodb.com
mongodb.com › resources › compare › cassandra-vs-mongodb
Cassandra Vs MongoDB Comparison | MongoDB
🌐
Benchant
benchant.com › blog › mongodb-vs-cassandra
MongoDB vs. Cassandra Performance Studie
In the vanilla configuration, Cassandra shows higher throughput on all 3 different workloads, but MongoDB always shows lower READ latency, with the same setup and similar consistency. Both performance KPIs are of different importance, depending on the IT application!
🌐
Knowi
knowi.com › home › cassandra vs mongodb: real performance data, cost analysis & when to use each
Cassandra vs MongoDB: Performance, Cost and Use Cases (2026)
April 22, 2026 - MongoDB is optimized for read-heavy workloads, providing fast data retrieval and efficient handling of read-intensive operations. Its flexible schema design and support for secondary indexes enhance read performance.
🌐
Reddit
reddit.com › r/cassandra › is it really possible to replace mongodb with cassandra?
r/cassandra on Reddit: Is it really possible to replace mongodb with cassandra?
April 3, 2023 -

So at work, we no longer can use Mongo because of some licence issues. So we were looking into cassandra.

But more I use it, more it seems like it shouldn't be used as a primary database. Our systems are fairly nascent, so we don't know what all fields we will query with in a table. And given how you can only query with keys in cassandra (or be Okey with secondary indexes), it seems like I will have to keep creating newer tables just to hold mapping between those fields I want to query.

It's just too restrictive for whatever we were doing with mongo.

Are these observations valid? Or can you really use just the cassandra as a primary database?

🌐
Reddit
reddit.com › r/dataengineering › mongodb vs cassandra vs scylladb for highly concurrent chat application
r/dataengineering on Reddit: MongoDB vs Cassandra vs ScyllaDB for highly concurrent chat application
May 24, 2025 -

We are working on a chat application for enterprise (imagine Google Workspace chat or Slack kinda application - for desktop and mobile). Of course we are just getting started, so one might suggest choosing a barebone DB and some basic tools to launch the app, but anticipating traffic, we want to distill the best knowledge available out there and choose the best stack to build our product from the beginning.

For our chat application, where all typical user behaviors are there - messages, spaces, "last seen" or "active" statuses, message notifications, read receipts, etc. we need to choose a database to store all our chats. We also want to enable chat searches, and since search will inevitably lead to random chats, we want that perf to be consistently excellent.

We are planning to use Django (with channels) as our backend. What database is recommended to use with Django to persist the messages? I read that Discord used to use Cassandra, but then it started acting up due to garbage collection, so they switched rto Scylla, and they are very happy with trillions of messages on it. Is ScyllDB a good candidate for our purpose to use with Django? Do these two work together well? Can MongoDB do it (my preferred choice, but I read that it starts acting up with high number of reads or writes at the same time - which would be a basic use case for enterprise chat scenario)?

Find elsewhere
🌐
AWS
aws.amazon.com › what is cloud computing? › cloud comparisons hub › databases › what’s the difference between cassandra and mongodb?
Cassandra vs MongoDB - Difference Between NoSQL Databases - AWS
2 weeks ago - Apache Cassandra and MongoDB are two NoSQL databases that store data in a non-tabular format. Cassandra is an early NoSQL database with a hybrid design between a tabular and key-value store. It’s designed to store data for applications that require fast read and write performance.
🌐
OpenLogic
openlogic.com › blog › cassandra-vs-mongodb
Cassandra vs. MongoDB: Performance and Feature Comparison | OpenLogic
Since Cassandra has multi-primary node support, the architectural design of Cassandra enables it to handle many simultaneous writes to more than one node. It will be more write performant than MongoDB which is limited to one writable primary ...
🌐
OneUptime
oneuptime.com › home › blog › mongodb vs cassandra: when to choose each
MongoDB vs Cassandra: When to Choose Each
March 31, 2026 - Cassandra: can handle millions of writes per second across a cluster · MongoDB: strong write performance but writes go through a write concern acknowledgment path
🌐
Integrate.io
integrate.io › home › blog › big data integration › cassandra vs mongodb: everything you need to know
Cassandra vs MongoDB: Everything You Need to Know | Integrate.io
January 30, 2026 - For example, the kind of schema you use plays a pivotal role in query speeds. Similarly, input and output load characteristics influence the performance of a database. To get a better gauge of the performance of both the Cassandra and MongoDB platforms, let's take a look at what actual users of the two platforms have to say.
Top answer
1 of 9
32

For a harvesting solution like this, I would recommend a multi-stage approach. Redis is good at real time communication. Redis is designed as an in-memory key/value store and inherits some very nice benefits of being a memory database: O(1) list operations. For as long as there is RAM to use on a server, Redis will not slow down pushing to the end of your lists which is good when you need to insert items at such an extreme rate. Unfortunately, Redis can't operate with data sets larger than the amount of RAM you have (it only writes to disk, reading is for restarting the server or in case of a system crash) and scaling has to be done by you and your application. (A common way is to spread keys across numerous servers, which is implemented by some Redis drivers especially those for Ruby on Rails.) Redis also has support for simple publish/subscribe messenging, which can be useful at times as well.

In this scenario, Redis is "stage one." For each specific type of event you create a list in Redis with a unique name; for example we have "page viewed" and "link clicked." For simplicity we want to make sure the data in each list is the same structure; link clicked may have a user token, link name and URL, while the page viewed may only have the user token and URL. Your first concern is just getting the fact it happened and whatever absolutely neccesary data you need is pushed.

Next we have some simple processing workers that take this frantically inserted information off of Redis' hands, by asking it to take an item off the end of the list and hand it over. The worker can make any adjustments/deduplication/ID lookups needed to properly file the data and hand it off to a more permanent storage site. Fire up as many of these workers as you need to keep Redis' memory load bearable. You could write the workers in anything you wish (Node.js, C#, Java, ...) as long as it has a Redis driver (most web languages do now) and one for your desired storage (SQL, Mongo, etc.)

MongoDB is good at document storage. Unlike Redis it is able to deal with databases larger than RAM and it supports sharding/replication on it's own. An advantage of MongoDB over SQL-based options is that you don't have to have a predetermined schema, you're free to change the way data is stored however you want at any time.

I would, however, suggest Redis or Mongo for the "step one" phase of holding data for processing and use a traditional SQL setup (Postgres or MSSQL, perhaps) to store post-processed data. Tracking client behavior sounds like relational data to me, since you may want to go "Show me everyone who views this page" or "How many pages did this person view on this given day" or "What day had the most viewers in total?". There may be even more complex joins or queries for analytic purposes you come up with, and mature SQL solutions can do a lot of this filtering for you; NoSQL (Mongo or Redis specifically) can't do joins or complex queries across varied sets of data.

2 of 9
22

I currently work for a very large ad network and we write to flat files :)

I'm personally a Mongo fan, but frankly, Redis and Cassandra are unlikely to perform either better or worse. I mean, all you're doing is throwing stuff into memory and then flushing to disk in the background (both Mongo and Redis do this).

If you're looking for blazing fast speed, the other option is to keep several impressions in local memory and then flush them disk every minute or so. Of course, this is basically what Mongo and Redis do for you. Not a real compelling reason to move.

🌐
IBM
ibm.com › think › topics › cassandra-vs-mongodb
Cassandra Vs. MongoDB | IBM
November 17, 2025 - Apache Cassandra is generally categorized as an “AP” database, delivering high performance primarily on availability and partition tolerance. Meanwhile, MongoDB is known as a “CP” database, excelling on the partition tolerance and ...
Top answer
1 of 1
9

Answers to questions: Yes. Latest MongoDB supports locks per document. https://docs.mongodb.com/manual/core/wiredtiger/

Here are benchmarks of write operations: https://www.datastax.com/nosql-databases/benchmarks-cassandra-vs-mongodb-vs-hbase According to these benchmarks, Cassandra performs better at scale (on the higher number of nodes in the cluster).

Hope it will help you.

Here are some details regarding your question which also might help.

Regarding Cassandra

Cassandra is using LSM-tree which is optimized for heavy writes. https://docs.datastax.com/en/cassandra/2.1/cassandra/dml/dml_manage_ondisk_c.html

Some details:

When performing a write, the data is immediately written to a commit log. The commit log is a crash-recovery mechanism. A write is not considered successful until it’s written to the commit log. After the data is written to the commit log, it’s written to memtable. In recent versions of Cassandra, memtables are stored mostly in native memory and not in JVM heap. So it also improves performance.

When the number of objects stored in the memtable reaches a threshold, the contents of the memtable are flushed to disk in a file called an SSTable. A new memtable is then created. Once a memtable is flushed to an SSTable, it is immutable.

No reads or seeks of any kind are required for writing a value to Cassandra because all writes are append operations.

Regarding MongoDB

By default, MongoDB is using MMAPv1 storage engine which is using B-trees (https://docs.mongodb.com/manual/core/mmapv1/), but recent versions of MongoDB use WiredTiger storage engine (https://docs.mongodb.com/manual/core/wiredtiger/) which can also support LSM-tree.

With respect to locks: WiredTiger MongoDB supports document-level locks but MMAPv1 supports collection-level concurrency control.

Some useful articles:
https://dba.stackexchange.com/questions/121160/mongodb-mmapv1-vs-wiredtiger-storage-engines
https://docs.mongodb.com/manual/faq/concurrency/
https://www.percona.com/blog/2016/01/06/mongodb-revs-you-up-what-storage-engine-is-right-part-1/

🌐
Medium
medium.com › @vinciabhinav7 › cassandra-vs-mongo-db-how-to-choose-e2de97a6dc45
Cassandra vs Mongo db ? How to choose ? | by Abhinav Vinci | Medium
May 30, 2024 - MongoDB uses a B-tree-based storage ... writes, potentially slowing down the write performance. Cassandra is preferred for applications requiring high write throughput....
🌐
Yugabyte
yugabyte.com › blog › data-modeling-basics-postgresql-vs-cassandra-vs-mongodb
Data Modeling Basics - PostgreSQL vs. Cassandra vs. MongoDB | YugabyteDB
August 11, 2023 - High performance in terms of low latency and high throughput is usually treated as a mandatory requirement and hence is expected in any database chosen. This post aims to help application developers understand the choice of SQL vs. NoSQL in the context of the data modeling needs of an application. We use one SQL database, namely PostgreSQL, and 2 NoSQL databases, namely Cassandra and MongoDB...
🌐
Maxis Technology
maxistechnology.com › home › comparing cassandra, mongodb, and redis for real-time analytics
Cassandra vs. MongoDB vs. Redis: Best for Real-Time Analytics
June 23, 2025 - Real-Time Dashboards: Redis or MongoDB for fast query performance. High-Write Scenarios: Cassandra’s write optimization shines.
🌐
Techjockey
techjockey.com › nosql database software › compare software › apache cassandra vs mongodb
Compare Apache Cassandra VS MongoDB | Techjockey.com
On the other hand, Cassandra is ... in detail. MongoDB is an open-source, document-oriented NoSQL database that provides high performance, high availability, and easy scalability....
🌐
Airbyte
airbyte.com › data integration platform › data engineering resources › cassandra vs. mongodb: navigating the nosql landscape
Cassandra vs. MongoDB: Navigating the NoSQL Landscape | Airbyte
August 29, 2025 - Choose Cassandra for applications that can operate effectively with eventual consistency. Scale and Performance Characteristics: MongoDB is well-suited for applications with moderate to high scale requirements where query flexibility is important.
🌐
Sprinkle Data
sprinkledata.ai › blogs › cassandra-vs-mongodb
Cassandra vs. MongoDB: Deciding the Best NoSQL Database for Your Business
November 14, 2023 - MongoDB offers in-built ad hoc queries and stored procedures for querying data, while Cassandra does not have such features. Cassandra has better performance for write operations compared to MongoDB.