Sizing a Database
Couchbase provides Capella features to help you size your database appropriately.
Sizing a database correctly is critical to its overall stability and performance. Couchbase Capella simplifies and eliminates most of the traditional complexities of sizing a Couchbase Server deployment. This makes it much easier for you to get started with a properly sized database.
A database deployment comprises the following configuration:
Sizing a database depends on the services you choose for it and the workload you place through the database. Each Couchbase service utilizes resources differently, so it’s important to know which resources are most important for each service as you size your database.
The following topics can help you understand Couchbase services and how to size them:
Each row in your database configuration represents a service group. Each service group includes the Couchbase services deployed on the node, and the system resources, such as compute and storage of the cloud VM, that the node is deployed with. Each service group also has a node quantity to represent the number of nodes in the database that have that configuration. A minimum of two nodes are required for a service, except for a data service where the minimum is three nodes.
Available compute instance types. RAM and CPU sizing is used to measure Compute. RAM sizing is measured in Capacity (GB). CPU sizing is measured by the number of vCPUs. The compute type is used for each node in the service configuration.
The amount of RAM and vCPUs in your deployment is sized in multiples, rather than arbitrary amounts. This is because the amount of RAM and vCPUs is always a multiple of the RAM and vCPUs.
The required SSD volume type in AWS EBS for the service. The options are GP3 or IO2. GP3 is general purpose to balance price and performance where you can provision performance independent of storage capacity. IO2 is higher performance and more durable with better reliability.
Capella databases deployed onto Google Cloud use SSD persistent disks (PD-SSD). These are best for high-performance database needs requiring lower latency and more IOPS than standard persistent disks provide.
Capella databases using Microsoft Azure can choose between Premium SSD or Ultra disks. Azure premium SSDs are best for high-performance database needs that require lower latency and more IOPS. Azure ultra disks are best for intensive and transaction-heavy workloads that require low latency and consistent IOPS/throughput.
The required amount of storage for the service. Storage sizing is measured by the capacity you determine in GiB.
The amount of storage depends on the chosen disk type. For example, if you want the 256 GiB of storage, you could choose the P15 disk configuration. If you’re using the Ultra disk type, you can choose between fixed storage size options.
The required amount of input and output operations per second (IOPS) for the service.
Adjusting the IOPS rate affects performance and cost. When creating or modifying a database with AWS gp3, AWS io2, or Azure Ultra Disk and choosing a storage option, Capella uses recommended defaults for the IOPS field. You can replace the default IOPS value with one higher than the default but not lower. For the recommended IOPS values for databases using AWS gp3, AWS io2, or Azure Ultra Disk, see IOPS Defaults.
Each database service group has a default input/output operations per second (IOPS) rate of 3000. The storage speed is configurable based on the volume type used:
gp3: 3000 to 16000 IOPS
io2: 1000 to 64000 IOPS
This value is automatically set by Capella based on the specified storage size and doesn’t allow for direct user customization.
IOPS for the Premium SSD (P) disk type are based on the chosen Premium SSD disk size. The IOPS for the Ultra disk type can be set, but the possible range depends on the chosen storage size.