Database Scaling

      +
      Databases can be multi-dimensionally scaled by adding or removing service instances and whole services, and by adjusting service instance sizes.

      This page walks you through multi-dimensional database scaling. It includes information about database services, rebalancing, statuses, events, and jobs.

      The dimensions of multi-dimensional scaling are:

      1. Adding and removing service instances

      2. Increasing and decreasing the size of service instances

      3. Adding and removing whole services

      Database Services

      Couchbase databases comprise multiple independent services. Database capacity is determined by the capacity of each service running on the database. Scaling a database means scaling the capacities of each service. Capella sets up services on a per-node basis. Each node runs one instance of a service.

      You can determine the capacity of an individual service by multiplying these factors:

      • The number of instances, or nodes, that make up a service

      • The size of those instances, including VM instance type and storage.

      Each of these factors can be independently scaled. Adding additional instances to a service is scaling out. Increasing the size of a service’s instances is scaling up. Removing instances is scaling in. Reducing the size of instances is scaling down. These scaling techniques, together with the ability to add and remove whole services within a database, enable multi-dimensional scaling.

      Rebalance

      All types of scaling result in the addition or removal of nodes from a database. Even changing a service instance size adds new nodes to the database, since Capella swaps out the underlying virtual machines for new ones. After performing any of these procedures, the database rebalances to accommodate the new number of active member nodes.

      Database rebalance is a process that’s required for redistributing data and indexes among available nodes whenever nodes are added or removed. During rebalance, the database continues to service requests for data while the database map is correspondingly updated and distributed to clients.

      Couchbase Server maintains consistent availability and performance during rebalancing. See the rebalance documentation to learn about how each service behaves during a rebalance. It can help you assess the impacts of this process on your deployments.

      Database Scaling Statuses

      When you create, delete, or modify a database, you can see its status when you open its project.

      Check the database statuses
      Figure 1. List of databases in a project

      A database satus can be:

      • Deploying

      • Deployment Failed

      • Healthy

      • Unhealthy

      • Scaling

      • Rebalance Failed

      • Destroying

      • Destroy Failed

      Database Events

      You can find a list of all your database events by opening the Activity Log:

      1. With the Projects tab in your organization open, select the project with the database you’re working with.

      2. With the Databases tab open, select your database.

      3. Click the Settings tab.

      4. In the navigation menu, click Activity Log.

      database activity log
      Figure 2. Database Activity Log

      When scaling your database, you’ll see these events:

      • A Cluster Configuration Updated event when you first request any changes.

      • A Cluster Scaling Complete event when Capella has finished applying the new configuration.

      See Also