全部產品
Search
文件中心

Hologres:Multi-cluster與自動彈性(Beta)

更新時間:Dec 18, 2025

Hologres自V4.0版本起,針對計算群組型執行個體,支援Multi-cluster與自動彈性擴充能力。一個計算群組可以擴充出多個Cluster,並根據負載情況自動擴充Cluster數量,以滿足計算群組內部的高並發請求情境與資源隔離需求。

架構原理

  • 如果未開啟Multi-cluster,一個計算群組的所有計算資源均歸屬同一Cluster。發送到該計算群組的請求將共用該部分計算資源。未開啟Multi-cluster時,計算群組執行個體架構請參見計算群組執行個體架構

  • 如果開啟了Multi-cluster,一個計算群組中將建立多個Cluster,Cluster之間計算資源物理隔離。發送到該計算群組的請求將由接入節點FE自動負載平衡調度至某個Cluster中執行。

  • 如果在Multi-cluster的基礎上,進一步開啟自動彈性功能,計算群組將根據自身負載情況(資源水位情況、隊列排隊情況),在負載高時自動調度彈性計算資源,拉起新Cluster,以應對更高並發負載;在負載低時自動釋放彈性Cluster,以降低成本。

image

適用情境

Multi-cluster功能

  • 適用於高並發的中小查詢請求情境,依託Cluster的負載隔離能力與FE的負載平衡調度,實現更高並發請求承載能力、請求自動分組隔離能力。

  • 不適合低並發的大任務情境,以架構原理中寫入計算群組2為例,其負責巨量資料量離線寫入,需要在單個Cluster中使用更多計算資源,因此更適合使用計算群組的縱向擴充能力,如手動擴容、分時彈性擴容。

自動彈性功能

自動彈性功能的適用情境如下:

  • 高並發的中小查詢請求:同Multi-cluster的適用情境。

  • 請求峰值難以預測:如果可以預測,可通過手動調整Cluster數,或分時彈性擴容解決。

名詞解釋

Multi-cluster相關概念、執行個體與計算群組層級計算資源的定義,請參見資源彈性概述

以如下執行個體資源使用方式為例:

  • 執行個體

    • 執行個體預留資源:64 CU,其中:

      • 已指派資源:32 CU,屬於計算群組init_warehouse的預留計算資源。

      • 未分配資源:32 CU,該資源可用於繼續建立計算群組,或增加計算群組init_warehouse的預留計算資源。

    • 執行個體彈性資源:32 CU,為計算群組init_warehouse使用彈性功能彈出的計算資源。

  • init_warehouse計算群組:

    • 預留Cluster數:1個。

    • 單Cluster規格:32 CU。

    • 預留資源:32 CU(1*32)。

    • 當前Cluster數:2個,其中1個預留Cluster,1個彈性Cluster。

    • 彈性資源:32 CU,為自動彈性功能彈出計算資源。

    • 總計算資源:64 CU,其中32 CU預留資源,32 CU彈性資源。

計費說明

  • 執行個體預留資源:即計算群組執行個體獨享計算資源,仍按執行個體付費模式(訂用帳戶/隨用隨付)付費。

  • 自動彈性計算資源:執行個體的計算群組通過自動彈性功能額外彈出的計算資源。計費公式為:費用 = 執行個體實際彈出彈性資源量(CU*小時) * 資源單價,具體資源單價請參見計費概述

    說明
    • 系統每分鐘均記錄執行個體當前彈性資源使用方式,每小時完成用量計算、單位轉換和該小時賬單推送,並從賬戶中自動扣除費用。

    • 執行個體彈性資源與執行個體未分配資源不相關。即使執行個體預留資源中仍有未分配資源,自動彈性功能仍會額外彈出彈性計算資源,而不會使用執行個體未分配資源。

使用限制

  • 僅Hologres V4.0及以上版本支援計算群組Multi-cluster與自動彈性功能。

  • 僅支援計算群組型執行個體,不支援Serverless型執行個體和通用型執行個體。

  • 支援地區

    • Multi-cluster功能:支援全部地區。

    • 自動彈性功能:

      地區

      自動彈性支援情況

      說明

      華東1(杭州)

      支援

      該地區處於公測期,請使用阿里雲帳號(主帳號)填寫表單,申請試用。

      西南1(成都)、華東2(上海)、華北2(北京)、華南1(深圳)、中國(香港)、新加坡、德國(法蘭克福)、美國(矽谷)、美國(維吉尼亞)、阿聯酋(杜拜)、日本(東京)、馬來西亞(吉隆坡)、印尼(雅加達)、華東2(上海)金融雲、華北2(北京)政務雲、華南1(深圳)金融雲

      不支援

      無法申請試用。

注意事項

  • 使用Multi-cluster與自動彈性功能要求的權限:

    • 需要使用阿里雲帳號,或被授予了AliyunHologresWarehouseFullAccess許可權的RAM使用者,該許可權包含了Hologres管理主控台的唯讀許可權和自動彈性功能的配置許可權,授權方式請參見授予RAM使用者權限

    • 需要帳號擁有執行個體內部的Superuser許可權,授權方式請參見授予RAM使用者執行個體的開發許可權

  • 計算群組增加/減少Cluster數可能存在一定影響,詳情請參見計算群組管理

  • 對於同一計算群組,不支援同時使用分時彈性、自動彈性兩個功能。

  • 配置了自動彈性的計算群組,仍支援在管控台完成全部計算群組管理操作,如縱向擴/縮容、啟動/停止、刪除等。

Multi-cluster使用指南

支援通過修改計算群組的“預留Cluster數”使用Multi-cluster功能。操作詳情請參見計算群組管理

自動彈性使用指南

支援對計算群組開啟自動彈性功能開關,實現在計算群組預留Cluster數的基礎上,根據計算群組負載情況(資源水位情況、隊列排隊情況)自動擴充彈性Cluster。

操作入口

  1. 登入Hologres管理主控台,在頂部功能表列左側,選擇相應的地區。

  2. 在左側導覽列選擇執行個體列表,單擊目標執行個體ID進入執行個體詳情頁。

  3. 在執行個體詳情頁的左側導覽列單擊計算群組管理,並在右側選擇計算群組自動彈性頁簽。

  4. 單擊開啟自動彈性,開啟自動彈性開關,並配置最大Cluster數,單擊儲存即可生效。

image

使用樣本

如上開啟自動彈性後(單Cluster規格為32 CU,預留Cluster數為1,最大Cluster數為4),可參考如下步驟驗證自動彈效能力(以PG原生效能壓測工具pgbench為例)。

  1. 在Hologres中建立測試表並寫入資料。

    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. 在壓測伺服器上建立壓測SQL檔案select.sql,並寫入如下SQL:

    EXPLAIN ANALYZE SELECT * FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.col3 = tbl_2.col3 ORDER BY 1;
  3. 在壓測伺服器上將密碼設定為環境變數。

    export PGPASSWORD='<AccessKey_Secret>'
  4. 執行如下壓測命令,參數配置詳情請參見串連Hologres並開發

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

    壓測期間,計算群組的監控指標如下圖:

    • Cluster CPU使用率:image

      • Cluster 1持續負載高,觸發自動彈性(位置1),增加1個Cluster。

      • 壓測完成,2個Cluster負載低,觸發自動彈性(位置2),減少1個Cluster。

    • 計算群組CPU使用率:image

      • 自動彈性增加Cluster前,計算群組CPU使用率持續超過85%。

      • 增加Cluster後,計算群組整體CPU使用率下降至70%附近。

監控警示

監控指標

您可在Hologres管控台的監控指標中,查看如下指標,如有需要,可為其配置相應警示規則,詳情請參見Hologres管控台的監控指標

  • Cluster CPU使用率

  • Cluster記憶體使用量率

  • 計算群組自動彈性彈出Core數

彈性事件執行日誌

  1. 進入計算群組管理頁面,單擊彈性事件執行日誌頁簽。

  2. 選擇自動彈性的時間範圍,可查看過去的彈性事件執行情況,包括執行時間、計算群組、執行狀態、事件類型、預留Cluster數和目標Cluster數。

CloudMonitor事件

Hologres自動彈性實際執行橫向擴充Cluster數的事件,均會記錄到CloudMonitor。

  1. 進入CloudMonitor事件中心,在系統事件頁面的事件監控地區選取項目產品Hologres,即可監控到自動彈性變更配置事件。其中:

    • Instance:Warehouse:AutoElastic:Start:為計算群組自動彈性開始事件。

    • Instance:Warehouse:AutoElastic:Finish:為計算群組自動彈性完成事件。

    • Instance:Warehouse:AutoElastic:Failed:為計算群組自動彈性失敗事件。

  2. 您可雲端式監控事件,進一步配置通知、警示等操作,詳情請參見使用系統事件警示

以自動彈性增加Cluster失敗事件為例,CloudMonitor事件詳情樣本如下:

{
    "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"
}

Action Trail

Hologres管理主控台上執行的編輯自動彈性等操作,以及自動彈性實際執行Cluster數擴充操作,均會記錄到Action Trail中。詳情請參見事件審計日誌