Over a million developers have joined DZone.

Cassandra vs. MongoDB: Why Your Database Should be Boring

Yes, saying bad things about MongoDB is nothing new, I mean, really, it seems to happen a lot, but this article is interesting in that it focuses on Cassandra.

· Database Zone

This recent article from Patrick McFadin at Datastax presents a comparison of Cassandra and MongoDB, although it's pretty clearly weighted in one direction. The title, after all, is "MongoDB. This is not the database you are looking for." Yes, saying bad things about MongoDB is nothing new - I mean, really, it seems to happen a lot - but McFadin's article is interesting in that the anti-MongoDB framing is really not the core of his point. Ultimately, this is all about Cassandra.

The central point McFadin brings to the table is that Cassandra is efficient. Not just in terms of performance, that is, but in the sense that Cassandra is about getting things done without a lot of frills and without much of a cool-factor, potentially even burdened by some history of a time when it is was more difficult to work with. Databases shouldn't be cool, McFadin argues:

When I ran infrastructure, I wanted the no-brainer. I say this all the time: the database should be the most boring thing in your datacenter. Is it scaling? Yep. Is it online? Yep. Boring.

Beyond that, McFadin argues that CQL is a great equalizer as well:

A lot has changed over the past couple of years with Cassandra . . . CQL (Cassandra Query Language) has brought a very familiar syntax to the development story. “select * from users” Hey I get that! I talk to developers every day and I hear how they were almost instantly productive and writing applications. There isn’t a huge up-front payment with Cassandra anymore in learning how to get data in and out.

Check out McFadin's full article if you want to learn more about the merits of Cassandra as a scalable, efficient, kind of plain and SQL-friendly database.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}