Couchbase is the modern database for today’s enterprise applications. The pace of digitization is blistering, spurred on by unexpected events like COVID-19. Additionally, in today’s digital-first world, there is an ever-increasing demand for 24x7x365 availability of applications to support an increasingly online personalized customer experience.
Due to the increased need for agile, dynamic application development and the requirement for zero downtime of online applications, companies are increasingly turning to a services-based architecture. Unlike many cloud platforms that offer numerous, often competing services from multiple sub-organizations, Couchbase enables clients to minimize sprawl by utilizing popular services like Query, Full-Text Search, and Eventing from a single vendor. Couchbase Query and Analytics services maximize developer and data analysts’ productivity by utilizing the popular SQL query language.
Couchbase Capella, our fully managed cloud service, is designed to be cloud-agnostic so there is no vendor lock-in. This blog post provides a summary of comparisons of Capella with Azure CosmosDB, two of the leading, cloud-based NoSQL database solutions.
Altoros, a global IT service provider, compared Capella to CosmosDB and published the results in this comprehensive report. Using the Yahoo! Cloud Serving Benchmark, the goal of the study was to measure the relative performance of each database in terms of latency and throughput, by examining performance on three different cluster configurations, 6, 9, and 18 nodes, under four different workloads.
The workloads varied substantially to model different real-world scenarios:
- Workload A. Update heavily: 50% read and 50% update.
Example: Simulating a web application serving content, while also storing user interactions.
- Workload E. Scan short ranges: 95% scan and 5% update, request distribution is uniform.
Example: Simulating a web application with heavy browsing searching for a given category or attribute and periodic update transactions.
- Pagination Workload. Filter with offset and limit.
Example: Simulates an application with queries returning a large number of records that have to be filtered to display results by page.
- JOIN Workload. JOIN operations with grouping and aggregation (in the case of Capella, ANSI JOIN was evaluated, as well).
Example: Simulates applications that require querying data across multiple nested document types utilizing JOIN syntax.
Capella demonstrated better performance across all four of the evaluated workloads. The Capella query engine supports aggregation, filtering, and JOIN operations on large data sets without the need to model data for each specific query. Unfortunately, Cosmos DB ran into multiple failed requests during testing, rendering it non-competitive in comparison to Capella.
Microsoft recommends CosmoDB for various use cases including, managing user profile data, storing and querying a set of attributes for entities. This use case is similar to the user rapidly changing user profiles scenario modeled in Workload A. Below is a chart of the results for the update-heavy Workload A:
Figure 1. Performance results for Workload A
As should be expected, the throughput of each database grew as the cluster size increased. Both databases achieved the throughput limit for each cluster type. Capella showed high-throughput growth and clearly outperformed CosmosDB. Capella also showed tremendous scalability with a consistent latency of approximately a millisecond across the node sizes.
On a 6-node cluster, CosmosDB showed minimal throughput of 6,640 ops/sec, while Capella had 42,404 ops/sec on the same number of threads. On an 18-node cluster, CosmosDB and Capella exhibited a maximum throughput of 16,608 ops/sec and 169,632 ops/sec respectively.
Capella demonstrated blazing-fast speeds that remained consistent as node sizes increased. Capella also provides services like Eventing and Analytics from the Couchbase platform and features like scopes and collections that model RDBMS schemas and tables, respectively. No other NoSQL database currently offers such direct mapping from RDBMS to NoSQL while supporting data management from the edge to the cloud. Also, unlike CosmosDB which is a Microsoft Azure-only offering, Couchbase is cloud-agnostic and does not lock users into using only one provider.
In this comparison, Couchbase Capella was the clear winner. Couchbase offers unmatched speed, reliability, scalability, and flexibility with the capacity to include other Couchbase services all while operating at a lower transaction cost.