全部產品
Search
文件中心

ApsaraDB for ClickHouse:企業版Serverless能力

更新時間:Mar 11, 2025

雲資料庫 ClickHouse 企業版基於存算分離的架構,實現了叢集計算資源根據實際業務負載動態彈性升降的Serverless能力。雲資料庫 ClickHouse 企業版叢集在業務波動較大的情境下,叢集資源可根據實際業務量自動動態調整,協助您降低業務低峰時段的資源用量,進而降低您總體資源採購的成本。本文介紹雲資料庫 ClickHouse 企業版叢集的Serverless能力以及其彈性策略和適用情境。

功能介紹

計算資源

ClickHouse叢集計算資源的計量單位是CCU(ClickHouse Compute Unit),1 CCU對應資源為1 Vcpu 4 GiB。

企業版叢集支援根據業務的實際負載,在預設的叢集彈性上限和彈性下限之間進行計算資源的彈性增加和彈性減少。最小的資源彈性步長為1 CCU。

在業務波動較大的情境下,固定規格的叢集和企業版叢集資源使用和規格變化情況如下圖所示。從圖中可以得知,在業務波動較大的情境下,固定規格的叢集劣勢是,在波穀期浪費的資源較多,在高峰期資源不足,導致業務受損。相對固定規格的叢集,企業版叢集有以下優勢。

  • 叢集資源可根據實際業務需求量動態調整,降低營運壓力。

  • 提升整體資源使用率,降低資源採購成本。

  • 業務高峰秒級完成資源彈升,過程業務無感,提升系統穩定性。

資源對比

儲存資源

企業版儲存資源採用OSS共用儲存方案,支援按實際使用量計費的Serverless模式,無需預購儲存盤。

適用情境

  • 存在明顯的業務波峰波穀情況。

  • 有間歇性業務高峰,需要頻繁變更配置的情境。

  • 不確定負載的情境,例如物聯網(IoT)、邊緣計算。

  • 期望降低營運成本、提升營運效率的情境。

費用

雲資料庫ClickHouse企業版叢集費用由計算資源費用和儲存資源費用兩部分組成。更多計費資訊,請參見企業版隨用隨付

同時,您也可以購買對應資源套件,抵扣叢集的資源消耗,進一步降低您的資源成本。資源套件計費規則以及如何購買,請參見資源套件

Serverless資源彈性擴縮觸發條件

目前,雲資料庫 ClickHouse 企業版為您提供了兩種彈性策略:保守型策略和激進型策略。

說明
  • 在不改變CCU上限的情況下,彈升和彈降不會影響叢集的節點個數。叢集的節點個數僅與叢集的CCU上限相關。當CCU上限大於64時,企業版叢集的節點數計算公式為:CCU上限/32;當CCU上限小於64時,企業版叢集的節點數為2。

  • 叢集每個節點的記憶體中都會儲存必要的中繼資料。因此,在調整CCU上限後,叢集節點數量的變化將導致叢集總記憶體使用量量及整體CCU用量的相應變化。

彈性策略

開啟條件

彈升策略

彈降策略

策略類型:保守型。

適用情境:

  • 業務低穀時段資源使用率低於30%的情境。

  • 業務高峰和低穀時段資源使用率差距較大的情境。

  • 對業務穩定性要求較高的情境。

在建立叢集時,預設採用保守型Serverless策略。

  • 觸發條件:(以下條件滿足一個即可)

    • CPU使用率在5s內的平均值超過60%。

    • 記憶體利用率在1s內超過60%。

  • 彈升結果:計算資源=MIN(觸發彈升的資源實際使用量除以45%,預設的彈性上限)。

    說明

    觸發彈升的資源實際使用量=MAX(CPU使用率*CCU, 記憶體使用量率*CCU)。

  • 觸發條件:(以下條件需均滿足)

    • CPU使用率連續60s小於30%。

    • 記憶體利用率連續60s小於30%。

    • 當前叢集的資源量高於預設的彈性下限。

  • 彈降方式:以1 CCU的步長逐步彈降,不是一次彈降至目標值。

  • 彈降結果:叢集資源量保持在MAX(使CPU使用率穩定在30%的CCU量,使記憶體利用率穩定在30%的CCU量,預設的彈性下限)。

策略類型:激進型。

適用情境:

  • 業務低穀時間資源使用率仍處於30%以上的情境。

  • 對降低成本有強烈需求的情境。

支援通過工單白名單開啟。

重要

開啟激進型策略後,可能會對叢集的效能和穩定性產生影響,謹慎開啟。

  • 查詢效能影響:叢集會更頻繁地觸發計算資源的彈降和節點緩衝的加鎖釋放,影響快取命中率。

  • 穩定性影響:彈升閾值提高和彈升步長降低,可能導致彈升耗時的增加和MemoryLimitException異常的增多。

  • 觸發條件:(以下條件滿足一個即可)

    • CPU使用率在5s內的平均值超過90%。

    • 記憶體利用率1s超過80%。

  • 彈升結果:計算資源=MIN(觸發彈升的資源實際使用量除以45%,預設的彈性上限)。

    說明

    觸發彈升的資源實際使用量=MAX(CPU使用率*CCU, 記憶體使用量率*CCU)。

  • 觸發條件:(以下條件需均滿足)

    • CPU使用率連續15s小於80%。

    • 記憶體利用率連續15s小於75%。

  • 彈降方式:以1 CCU的步長逐步彈降,不是一次彈降至目標值。

  • 彈降結果:叢集資源量保持在MAX(使CPU使用率穩定在80%的CCU量,使記憶體利用率穩定在75%的CCU量,預設的彈性下限)。

更多操作

相關API

API介面

說明

ModifyDBInstanceClass - 修改叢集彈性配置

修改彈性區間。

CreateDBInstance - 建立叢集

購買叢集。

DeleteDBInstance - 釋放叢集

刪除叢集。

StartDBInstance - 啟動叢集

啟動叢集。

StopDBInstance - 暫停叢集

暫停叢集。

RestartDBInstance - 重啟叢集

重啟叢集。