MongoDB 3.4 vs. Couchbase Server 5.0 vs. DataStax Enterprise 5.0 (Cassandra)
Criteria essential for most enterprise deployments
Last week, during Couchbase Connect, we announced the results of our latest NoSQL technical comparison. The study analyzed the leading NoSQL systems—Cassandra (DataStax Enterprise v5.0), Couchbase Server (v5.0), and MongoDB (v3.4)—across 22 categories on a 10-point scale. We’ve been tracking the three databases for 5+ years, releasing research papers like that on a regular basis.
Unlike other NoSQL comparisons that focus only on one or two dimensions, “The NoSQL Technical Comparison Report” approaches evaluated solutions from 20+ angles to help decision makers choose the best option based on performance, availability, ease of installation and maintenance, data consistency, fault tolerance, replication, recovery, scalability, and other criteria. The report also includes recommendations on the best ways to configure, install, and use NoSQL databases depending on specific features.
“Dozens of NoSQL databases have been developed over the last decades with a goal to deliver faster performance than traditional relational database management systems in various use cases—most notably those involving big data. However, the majority of NoSQL data stores are optimized, or even built, for a specific workload or a task. As such, not all the NoSQL products are the same. With implementations varying significantly from vendor to vendor, it is important to be aware of comparative strengths and weaknesses, which was one of the drivers behind this report.”
—Vladimir Starostenkon, R&D Engineer at Altoros
The scoring framework set out in this document allows architects and engineers to assign different weights to evaluation criteria. As a result, it is possible to choose a NoSQL data store taking into consideration custom needs for data structure/formats, deployment, scalability, etc.
For criteria based on measurable data, scores were applied based on real-world practical experience in using the products under evaluation and regularly conducted benchmarks. For criteria based on qualitative data—e.g., installation and maintenance procedure—scores were applied based on in-depth review of the documentation, dialog with the solutions vendors and users engineering teams, and our own development and production experience.
MongoDB is a web-scale document-oriented NoSQL database. It has extensive support for a variety of secondary indices and API-based ad-hoc queries, as well as strong features for manipulating JSON documents. The database puts forward a separate and incremental approach to data replication and partitioning that happen as completely independent processes.
Couchbase Server is both a JSON document and a key-value distributed NoSQL database. It guarantees high performance with a built-in object-level cache, asynchronous replication, and data persistence. The database is designed to scale out or scale up compute-, RAM-, and storage-intensive workloads independently.
Cassandra is a partitioned row store with the rows organized in tables. Initially designed at Facebook by Amazon Dynamo’s developers, it aims to provide high availability and linear scalability. It features tunable consistency, hinted handoff, and active anti-entropy. DataStax Enterprise is a commercial third-party software that provides enterprise features on top of open-source Apache Cassandra, such as full-text search, real-time analytics, advanced security, and auditing.
The resulting basic (unweighted) scores revealed Couchbase Server v5.0 scored highest with 213 points, DataStax Enterprise v5.0 (Cassandra) second with 201 points, and MongoDB v3.4 third with 186 points.
Though Couchbase Server achieved the overall highest basic score, all three were neck-and-neck in various categories, with DataStax Enterprise outshining the others in the categories of Availability and Fault Tolerance. Mobile Device Support was where Couchbase widened the gap with the only dedicated solution for mobile devices out of the three.
For more details, download the report here.