Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

MongoDB and Apache Cassandra / DataStax, Where Art Thou?

DZone's Guide to

MongoDB and Apache Cassandra / DataStax, Where Art Thou?

· Performance Zone
Free Resource

Discover 50 of the latest mobile performance statistics with the Ultimate Guide to Digital Experience Monitoring, brought to you in partnership with Catchpoint.

Today, Thumbtack Technology published a blog post highlighting the final results of the NoSQL benchmark (link).

In June, the databases were benchmarked on 4 physical servers. I could see MongoDB and DataStax in the rearview mirror (link). Then, the databases were benchmarked on 4, 6, and 8 physical servers.

The performance tests were executed with two workloads.

  • Read Intensive (95% read / 5% write)
  • Balanced (50% read / 50% write)

Read Intensive

MongoDB scaled from 130K ops / second with 4 servers to 227K ops / second with 8 servers. The average latency was less than a millisecond. The latency is great, the throughput is not.

Apache Cassandra (DataStax) scaled from 60K ops / second with 4 servers to 99K ops / second with 8 servers. The average latency was below 3ms. The latency is not good, neither is the throughput.

Couchbase Server scaled from 903K ops / second with 4 servers to 1.71 million ops / second with 8 servers. The average latency was less than a millisecond. The latency is great, the throughput is great.

Balanced

MongoDB scaled from 50K ops / second with 4 servers to 85K ops / second with 8 servers. The average latency was less than a 2ms. The latency is pretty good, the throughput is pretty bad.

Apache Cassandra (DataStax) scaled from 53K ops / second with 4 servers to 89K ops / second with 8 servers. The average latency was below a millisecond. The latency is great, the througput is not.

Couchbase Server scaled from 800K ops / second with 4 servers to 1.24 million ops / second with 8 servers. The average latency was less than two milliseconds. The latency is pretty good, the throughput is great.

Conclusion

Apache Cassandra (DataStax) meets low latency requirements for write requests, at low throughput. It's not engineered for read performance. It does not leverage memory effectively (link). Apache Cassandra was engineered for an era when servers had little memory and spinning disks.

MongoDB meets low latency requirements for read requests, at low throughput. It's not engineered for write performance. It's limited by a master / slave topology, database-wide locking (one per db per instance), and more. MongoDB was engineered for... well, I'm not sure what it was engineered for.

Couchbase Server meets low latency requirements for read and write requests, at any throughput. Unlike MongoDB, it doesn't have topology and locking issues. Unlike Apache Cassandra, it leverages memory effectively with a integrated, managed object cache. Couchbase Server was engineered for read and write performance.

I can't see MongoDB and DataStax in the rearview. Not any more. Where art thou?

It's all in the white paper (here).

See Doug's take on the benchmark results (here).

Hacker News (link)
Reddit (link)

Is your APM strategy broken? This ebook explores the latest in Gartner research to help you learn how to close the end-user experience gap in APM, brought to you in partnership with Catchpoint.

Topics:

Published at DZone with permission of Shane Johnson, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

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

{{ parent.tldr }}

{{ parent.urlSource.name }}