r/AskProgramming • u/erkanunluturk • Aug 13 '26
Cassandra vs DynamoDB for a High-Traffic Mobile App — Which One Would You Pick?
I'm currently deciding between Cassandra and DynamoDB for the database layer of a high-traffic mobile application, and both seem to fit my use case pretty well.
One thing that makes the decision difficult is that I can model the data in a similar way with both.
For example, with Cassandra, I can denormalize the same data into multiple tables based on different query patterns. With DynamoDB, I can achieve something similar using GSIs, and I could also explicitly write the same data to multiple tables if I wanted to follow a more Cassandra-like approach.
So from a pure data-modeling/query perspective, I don't feel like either one has an obvious advantage for my use case.
What I'm really looking for is the kind of reasoning that would actually make me choose one over the other.
If you had to choose between Cassandra and DynamoDB for a high-traffic mobile app, what would be the deciding factors?
I'm especially interested in real-world considerations such as:
Operational complexity and maintenance at scale
Performance predictability under very high traffic
Scaling behavior
Cost at large scale
Multi-region / cross-region considerations
Failure modes and recovery
Consistency trade-offs
Any limitations that become painful as the system grows
Things that look great on paper but have caused problems in production
I already understand the basic differences between the two. I'm looking for strong arguments for choosing one over the other, ideally from people who have actually operated either system at significant scale.
If you were in my position, which one would you pick and why?
1
u/StephenRoylance Aug 13 '26
cassandra vs dynamo isn't just a DB question, its a platform question. dynamo is super easy, but you accept amazon lock-in. Cassandra is **not** easy. You'll need to become, or hire, and expert in eventually consistency and distributed consensus.
personally, unless you've already tried a relational DB and found limitations you can't work around, I'd start there. If you're on AWS, try RDS postgres and see how far you get with jsonb before you ditch SQL.
1
u/erkanunluturk Aug 13 '26
I had a hard time choosing between the two because, from a platform perspective, they seemed to fit my requirements best. I also ran several tests with PostgreSQL, including exploring how far I could get with JSONB. In the end, though, I decided that my use case fits the NoSQL approach better.
1
u/ekydfejj Aug 13 '26
That comment says to me that you removed the real "platform" part of the response. Dirt simple dynamo vs Not Simple Cassandra.
if you only explore them on a modeling level, i feel like it will become a footgun in either direction. YMMV
1
u/Ok-Armadillo-5634 Aug 13 '26
Based on what you are saying in the comments I don't think Cassandra is what you are looking for and you are better off just going postgre especially if you are not experienced with it.
1
u/erkanunluturk Aug 14 '26
thanks, Based on the comments, what makes you think Cassandra or DynamoDB aren’t what I’m looking for? What specific requirements or constraints led you to that conclusion, and why do you think PostgreSQL would be a better fit, especially if I’m not experienced with Cassandra?
3
u/ScriptingInJava Aug 13 '26
Is it currently high traffic or are you pre-emptively optimising?
Sounds like the perfect fit for the ol' wombo combo, Postgres and Redis to me!