Sizing a Cluster

    +
    Couchbase provides Capella features to help you size your cluster appropriately.

    Sizing a cluster 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 cluster.

    You can configure cluster sizing during the cluster creation process or scale a cluster after it is created.

    Deployment Configuration

    A cluster deployment comprises the following configuration:

    • Couchbase Services

    • Service Groups and Nodes

    • Compute

    • Disk Type

    • Storage

    • IOPS

    Couchbase Services

    Sizing a cluster depends on the services that you choose for it, and the workload you place through the cluster. Each Couchbase service utilizes resources differently, so it is important to know which resources are most important for each service as you size your cluster.

    The following topics are helpful in understanding Couchbase services and how to size them:

    Service Groups and Nodes

    Each row in your cluster 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 cluster 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.

    Compute

    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.

    Disk Type

    AWS

    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.

    GCP

    Capella clusters deployed onto Google Cloud use SSD persistent disks (PD-SSD). These are suited for high-performance database needs that require lower latency and more IOPS than standard persistent disks provide.

    Storage

    The required amount of storage for the service. Storage sizing is measured by the capacity you determine in GB. The minimum disk size is 50 GB.

    Capella automatically selects the optimal storage type available from your cloud provider to meet the I/O requirements of your configuration.

    IOPS

    The required amount of input and output operations per second (IOPS) for the service. Increase the IOPS for a better disk throughput, but this does cost more to do so.

    AWS

    Each cluster 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

    GCP

    This value is automatically set by Capella based on the specified storage size and does not allow for direct user customization.

    Minimum Specification

    The minimum specification supported in Couchbase Capella is:

    • 4 vCPU

    • 16GB RAM

    • 50 GB Storage capacity

    • Number of nodes:

      • 3 nodes for a data (K-V) service

      • 2 nodes for all other services

    Templates

    Cluster templates provide pre-defined cluster configurations that are based on common workloads. Each template has a variety of different sizes, and selecting one populates the entire cluster configuration for you.

    The template sizing screen with the 'Query Optimized' template selected.

    When applying a template, the Configuration Templates flyout displays the services and resources that make up the template. Templates are a good place to start when it comes to sizing your first cluster in Capella. You can always deploy a cluster using a template and modify it later to match your needs.

    Custom Deployments

    Custom deployments provide you with granular control to size and configure your cluster.

    Custom deployments work well if you:

    • Already have experience with Couchbase Server.

    • Want to re-create an existing Couchbase deployment using Couchbase Capella.

    When using a custom deployment, click Add Service Group to add different node configurations. Each node configuration represents a service group row in the Deployment Configuration.

    The following custom configuration is available:

    • Which individual services run on the node

    • Number of nodes by quantity for the node configuration

    • Compute type instance that the node configuration runs on

    • Disk type for the configuration

    • Storage capacity for each node

    • Input and output operations per second (IOPS)

    For more detail on how to create a custom deployment, see Create a Cluster.