All Products
Search
Document Center

Hologres:Multi-cluster and auto scaling (beta)

Last Updated:May 16, 2026

Multi-cluster and auto scaling are available for virtual warehouse instances in Hologres V4.0 and later. A virtual warehouse can run across multiple clusters, and auto scaling adjusts the number of active clusters based on load — handling high-concurrency workloads and providing resource isolation within the warehouse.

How it works

Without multi-cluster: All compute resources in a virtual warehouse belong to a single cluster. All requests share those resources.

With multi-cluster: Multiple clusters run inside one virtual warehouse. Compute resources are physically isolated between clusters. The access node FE load-balances incoming requests and routes them to a cluster for execution.

With multi-cluster and auto scaling: The virtual warehouse monitors load (resource usage and queueing) and automatically launches additional elastic clusters during high-load periods. When load drops, it releases those elastic clusters to reduce costs.

image

Choose a mode

Use this table to pick the right mode for your workload before you configure anything.

Mode

Best for

Not suitable for

Multi-cluster (fixed)

High-concurrency workloads with small to medium queries and a stable, predictable load

Low-concurrency workloads with large tasks that need more compute in a single cluster

Multi-cluster + auto scaling

High-concurrency workloads with unpredictable traffic spikes

Low-concurrency large tasks; workloads already managed by scheduled scaling

When to use manual or scheduled scaling instead: If your peak traffic is predictable, adjust the number of Clusters manually or use time-based elasticity. Auto scaling is most valuable when peaks are unpredictable. You cannot use time-based elasticity and auto scaling on the same virtual warehouse simultaneously.

Prerequisites, notes, and limitations

Prerequisites

Before you begin, ensure that you have:

  • A virtual warehouse instance running Hologres V4.0 or later

  • Permissions: An Alibaba Cloud account, or a Resource Access Management (RAM) user with these permissions:

Notes and limitations

  • Impact: Scaling clusters can briefly disrupt specific read/write tasks. See Scale out (horizontal scaling).

  • Feature conflict: Scheduled scaling and auto scaling cannot be enabled simultaneously for a virtual warehouse. Manual operations like start/stop and compute adjustments in the Hologres console remain available.

  • Potential provisioning failure: Elastic cluster launch is not guaranteed. Configure alerts for potential provisioning failures. See Monitoring and alerts.

  • Regional availability:

    Feature

    Availability

    Multi-cluster

    All regions

    Auto scaling

    See the table below

    Region

    Auto scaling support

    Notes

    China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen)

    Supported (beta)

    Fill out the application form to apply for a trial.

    China (Chengdu), China (Hong Kong), Singapore, Germany (Frankfurt), US (Silicon Valley), US (Virginia), UAE (Dubai), Japan (Tokyo), Malaysia (Kuala Lumpur), Indonesia (Jakarta), Finance Cloud China (Shanghai), Alibaba Gov Cloud China (Beijing), Finance Cloud China (Shenzhen)

    Not supported

    Trial not available.

Billing

Reserved resources are billed under your instance billing method (subscription or pay-as-you-go).

Elastic resources are pay-as-you-go, billed separately for the elastic compute launched:

Cost = Elastic resources launched (CU × hour) × Unit price

Alibaba Cloud records elastic resource usage every minute and pushes an hourly bill. Fees are deducted automatically from your account. For unit pricing, see Billing overview.

Enable multi-cluster

You can enable the multi-cluster feature by modifying the number of reserved clusters for a virtual warehouse. For detailed steps, see Scale out (horizontal scaling).

Enable auto scaling

Auto scaling adjusts the number of active clusters based on load, which includes resource usage and queueing.

  1. Log on to the Hologres Console. In the top-left corner, select the region where your instance is deployed.

  2. In the left navigation pane, click Instances. Click the target Instance ID/Name to open the Instance Details page.

  3. In the left navigation pane of the instance details page, select Virtual Warehouse Management. On the right, select the Auto-scaling tab.

  4. Switch on Enable Auto-scaling. Set the Maximum Clusters value and click Save.

Maximum Clusters defines the upper bound for elastic scale-out. The virtual warehouse adds clusters up to this limit during high-load periods.

Verify auto scaling behavior

After enabling auto scaling, use pgbench (the native PostgreSQL performance testing tool) to confirm that scaling triggers correctly. This example uses a configuration of 32 CU per cluster, 1 reserved cluster, and a maximum of 4 clusters.

  1. Create test tables and load data:

    CREATE TABLE tbl_1 (col1 INT, col2 INT, col3 TEXT);
    CREATE TABLE tbl_2 (col1 INT, col2 INT, col3 TEXT);
    INSERT INTO tbl_1 SELECT i, i+1, md5(random()::TEXT) FROM generate_series(0, 500000) AS i;
    INSERT INTO tbl_2 SELECT i, i+1, md5(random()::TEXT) FROM generate_series(0, 500000) AS i;
  2. On the stress testing server, create a file named select.sql with the following query:

    EXPLAIN ANALYZE SELECT * FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.col3 = tbl_2.col3 ORDER BY 1;
  3. Set the password as an environment variable:

    export PGPASSWORD='<AccessKey_Secret>'
  4. Run the stress test. Replace the placeholders with your actual values. For connection parameter details, see Connect to Hologres.

    Placeholder

    Description

    <AccessKey_Secret>

    AccessKey secret for your account

    <Database>

    Target Hologres database name

    <AccessKey_ID>

    AccessKey ID for your account

    <Endpoint>

    Hologres instance endpoint

    <Port>

    Connection port

    pgbench \
      -c 30 \
      -j 30 \
      -f select.sql \
      -d <Database> \
      -U <AccessKey_ID> \
      -h <Endpoint> \
      -p <Port> \
      -T 1800

Expected results:

  • Cluster CPU utilization: image

    • When cluster 1 sustains high load, auto scaling adds a cluster (position 1 in the chart).

    • After the stress test ends, both clusters show low load and auto scaling removes the elastic cluster (position 2).

  • Virtual warehouse CPU utilization: image

    • A new cluster is added when the virtual warehouse CPU utilization continuously exceeds 85%.

    • After the new cluster is added, overall CPU utilization drops to approximately 70%.

Monitoring and alerts

Metrics

In the Hologres Console, monitor the following metrics for your virtual warehouse. For configuration instructions, see Metrics.

  • Cluster CPU utilization

  • Cluster memory usage

  • Number of vCPUs launched by virtual warehouse auto scaling

Elastic event logs

  1. On the Virtual Warehouse Management page, click the Elastic Event Execution Logs tab.

  2. Select a time range to view past scaling events. Each event record includes the running time, virtual warehouse, execution status, event type, number of reserved clusters, and target number of clusters.

Cloud Monitor events

Auto scaling scale-out and scale-in events are recorded in CloudMonitor.

  1. Go to the Cloud Monitor Event Center. On the System Event page, select Hologres as the product in the Event Monitoring area. The following auto scaling events are available:

    Event name

    Description

    Instance:Warehouse:AutoElastic:Start

    Auto scaling has started for a virtual warehouse

    Instance:Warehouse:AutoElastic:Finish

    Auto scaling completed successfully

    Instance:Warehouse:AutoElastic:Failed

    Auto scaling failed (for example, a Cluster could not be launched)

  2. Based on these events, configure notifications or alert rules. For setup instructions, see Use alerts for system events.

The following shows an example Cloud Monitor event payload for a failed scale-out event:

{
    "status": "Failed",
    "instanceName": "<instance_id>",
    "resourceId": "<instance_resource_id>",
    "content": {
        "AutoElasticCPU": <cpu_num>,
        "ScaleType": "ScaleOut",
        "ScheduleId": "xxxxxx",
        "WarehouseId": "<warehouse_id>",
        "WarehouseName": "<warehouse_name>"
    },
    "product": "hologres",
    "time": 1722852008000,
    "level": "WARN",
    "regionId": "<region>",
    "id": "<event_id>",
    "groupId": "0",
    "name": "Instance:Warehouse:TimedElastic:Failed"
}

ActionTrail

All operations performed in the Hologres Console — including editing auto scaling configurations — and actual cluster scaling operations triggered by auto scaling are recorded in ActionTrail. For details, see Audit event logs.