Couchbase is a NoSQL database platform that offers several editions and deployment options, including a free installation binary as well as a fully managed database as a service. This blog briefly compares our free Couchbase Community Edition to Couchbase Capella™ DBaaS, and presents some of the benefits of upgrading to the managed service. To ensure that both editions were evaluated under the same conditions, I implemented and executed The YCSB (Yahoo! Cloud Serving Benchmark) specification Workload E as a baseline.

What is Couchbase Community Edition (CE)?

Community Edition (CE) is a free installation binary of the Couchbase Server distributed NoSQL database. It is designed for very simple applications that need a flexible JSON datastore and basic availability, performance, scaling, and security capabilities. Applications developed on CE are fully portable to Capella. There is no lock-in to the CE environment however, clusters are limited to five nodes by its BSL 1.1 license. CE includes multi-model data access services that  interact with the data in a CE cluster:

    • Key-value: The ability to read/write data via a “key” lookup, which is extremely fast, especially given Couchbase’s memory-first architecture, and is great for simplicity.
    • SQL++ (SQL for JSON): SQL syntax support is a database industry standard data access method.
    • Full-text Search (FTS): A text “search engine” for data that also supports geography-based searches and fuzzy search matches.

What is Couchbase Capella?

Couchbase Capella is a fully managed Database-as-a-Service (DBaaS) that enables users to focus on utilizing the functionality available in the product by eliminating database management activities. It’s the easiest and fastest way to begin working with Couchbase. For multi-model access, Capella offers key-value, SQL++, and full-text search along with additional Couchbase services like:

    • Analytics: Query data with complex, ad hoc SQL++ queries in an isolated environment with multi-tenant support.
    • Eventing: Developers can write JavaScript functions that respond to data change events.
    • App Services for mobile synchronization mobile: Offline-first embeddable database, Couchbase Lite that offers both peer-to-peer and client/server data synchronization with Couchbase Server. 

Comparison

To ensure symmetry and an equal benchmark, the same YCSB workload was exercised against both CE and Capella. Workload E is a short-range scan workload in which ranges of records are queried instead of individual ones with a scan/update ratio of 95%-5%. This workload simulates threaded conversations with a lot of scan requests and periodic updates. In real-world situations, an example of a scan operation is an e-commerce app with users viewing a product catalog and occasionally buying products that create some update requests. 

The comparison focused on installation and cluster setup, and performance of CE as compared to Capella. Using 8 CPU, 16GB RAM machines for the Capella cluster, and c4.2xlarge matching EC2 instances for the CE cluster running the Ubuntu 18.04.4 LTS operating system on five node clusters due to the CE node limitation. The workload was executed on 20,000,000 records using five access clients, each issuing 20 worker threads for a total of 100 threads. The following scan/update queries were used to execute Workload E.

SCAN query using Couchbase SQL++: 

 

UPDATE query using Couchbase SQL++:

Installation and cluster setup

Although setting up a CE cluster is easy for an open source platform it can’t compare to Capella DBaaS in terms of level of effort. Installing CE involved several steps:

    • Create five AWS EC2 machines with Ubuntu 18.04.4 LTS operating system
    • Install CE on each node; the minimum steps for the OS are:

Download the meta package.

Install the meta package.

Reload the local package database.

Install Couchbase Server CE latest package.

    • Create a cluster on one CE node 
    • Log in to the primary machine and add each node to the cluster based on node IP

Creating a Capella cluster requires the following steps:

    • Simply sign up for an account
    • Create a new project using Capella Control Plane user interface 
    • Create a cluster using the same user interface 

Performance

CE doesn’t have full multi-dimensional scaling (MDS). Node combinations are limited to data, index, query; full-text search, data, index, query; or data only. This means service combinations cannot be modeled to perfectly fit specific workloads. A CE cluster can only contain five nodes or less and Couchbase Analytics and Eventing services are not available. This node limit means that CE is more suitable for small, non-production environments. Index replicas are also not available. This can impact CE cluster performance. In the YCSB Workload E comparison, Capella had approximately 3x better throughput and 20% lower latency. 

The CPU utilization graph screenshots below demonstrate how a CE cluster running work Workload E of the YCSB specification only fully utilizes one node versus a Capella cluster where all the nodes are utilized for processing. With Capella there is no wasted capacity, all the nodes are fully available and can have replicated indices. This means that Capella beats CE performance with less hardware, leading to lower overall costs.

cpu-usage-monitoring-capella

Summary

This YCSB Workload E comparison demonstrates that Couchbase Capella is a more complete database than Couchbase Community Edition. Capella is more flexible and includes additional services like Analytics, Eventing, and a mature Mobile suite. On the other hand, limitations such as no index replicas, restricted MDS, and a node ceiling of five make CE a better fit for smaller workloads where performance is less important. 

With Capella, you get 3x better performance and a cloud-native design – all with limitless scaling, high availability with geo-replication, cross-data center replication (XDCR), and flexible disaster recovery. Capella lowers total cost of ownership (TCO) by virtually eliminating operational and management costs while providing an enterprise-level NoSQL document store to support the demands of modern applications.  This is why you need to upgrade from CE to Capella NOW!

Next steps

Learn more about Couchbase Capella:

Tutorials

The Couchbase Developer Portal has tons of tutorials/quickstart guides and learning paths to help you get started!

See the documentation to learn more about the Couchbase SDKs.

Thank you for reading this article! If you have any questions or comments, please connect with us on the Couchbase Forums!

Author

Posted by Rick Jacobs

Rick Jacobs is the Technical Product Marketing Manager at Couchbase. His varied background includes experience at many of the world’s leading organizations such as Computer Sciences Corporation, IBM, Cloudera etc. He comes with over 15 years of general technology experience garnered from serving in development, consulting, data science, sales engineering and technical marketing roles. He holds several academic degrees including an MS in Computational Science from George Mason University.

Leave a reply