本文介紹了在只讀列存節點開啟Serverless的操作步驟。
前提條件
PolarDB MySQL版集群的產品版本為企業版,內核版本為8.0版本,且集群中至少已存在一個只讀列存節點。
實現形態
在固定規格的只讀列存節點上設置節點資源彈升范圍:在固定規格基礎上疊加Serverless能力,固定規格提供基本的處理能力,當業務壓力超過基本處理能力后,通過臨時彈升資源應對壓力。
創建無固定規格的只讀列存節點:無固定規格,規格隨業務負載按需彈性,適用于成本優先的業務場景。
優勢
業務高峰低谷周期有效減少成本
Serverless架構的優勢在于其能夠應對負載的波動,在低谷時段自動降配,在高峰時段自動升配,從而有效地降低成本。例如:一天中12小時為業務高峰期,需要32核64 GB的配置來滿足性能需求,12小時為業務低谷期,16核32 GB的配置即可滿足性能需求,那么基于16核32 GB配置的Serverless架構相比32核64 GB配置,可以減少25%的計算節點成本。
針對Serverless架構的多項優化
列存索引針對Serverless架構的彈性資源特性進行了如下多項優化,進一步提升了性能和使用體驗:
資源利用率優化:只讀列存節點具有全面的資源管理機制,支持多個系統關鍵參數的在線配置,如緩存(Cache)、線程池、執行內存等。在Serverless架構中,當資源自動擴展或縮減時,這些參數會自動調整,確保資源得到最大化利用。
SQL排隊優化:只讀列存節點主要用于分析型場景,為了使復雜SQL能夠快速運行,通常會給單個復雜SQL分配較多資源,復雜SQL增多會導致系統資源緊張,導致后來的簡單SQL被復雜SQL阻塞,產生因排隊而造成的慢SQL問題。在Serverless架構中,只讀列存節點會根據SQL排隊情況自動增加資源,以減少因排隊而造成的慢SQL問題。
說明支持該項優化的內核版本如下:
PolarDB MySQL版的大版本為8.0.1時,小版本需為8.0.1.1.39及以上。
PolarDB MySQL版的大版本為8.0.2時,小版本需為8.0.2.2.20及以上。
啟動時加載列索引速度優化:重啟集群后只讀列存節點需要重新構建內部索引信息(通常需要幾分鐘),在此期間列存索引為不可用狀態,在Serverless架構中,只讀列存節點會利用彈性資源加速這一重建過程,使其能夠更快的進入可用狀態。
說明支持該項優化的內核版本如下:
PolarDB MySQL版的大版本為8.0.1時,小版本需為8.0.1.1.36及以上。
PolarDB MySQL版的大版本為8.0.2時,小版本需為8.0.2.2.20及以上。
日志回放加速:列存索引是基于物理日志回放構建的,但由于系統會將的大部分資源用于支持查詢SQL,構建列存索引的資源可能不足,導致列索引日志回放延遲增加,這種延遲可能會導致查詢被路由到其他節點或需要等待日志回放完成,從而產生慢SQL。在Serverless架構中,只讀列存節點會自動增加回放相關資源,加速日志回放性能。
說明支持該項優化的內核大版本是PolarDB MySQL版8.0.1,且小版本是8.0.1.1.45及以上。
DDL加速優化:對列存索引進行DDL操作時,需要消耗較長時間。在Serverless架構中,列存節點會自適應增加處理DDL操作的線程資源,以加速這一過程。
說明支持該項優化的內核版本如下:
PolarDB MySQL版的大版本為8.0.1時,小版本需為8.0.1.1.44及以上。
PolarDB MySQL版的大版本為8.0.2時,小版本需為8.0.2.2.25及以上。
操作步驟
在固定規格的只讀列存節點上設置節點資源彈升范圍
登錄PolarDB控制臺。
在左上角,選擇集群所在地域。
找到目標集群,單擊集群ID。
在基本信息頁面的數據庫節點區域,單擊開啟Serverless。
在開啟Serverless對話框中,設置單節點資源彈升上限和單節點資源彈升下限,關于單節點資源彈升上限和單節點資源彈升下限的更多詳細說明請參見開啟固定規格集群的Serverless功能。
單擊確定。
設置成功后,列存節點會在原來的固定規格基礎上,疊加Serverless的動態彈升能力。
創建無固定規格的只讀列存節點
登錄PolarDB控制臺。
在左上角,選擇集群所在地域。
找到目標集群,單擊集群ID。
在基本信息頁面的數據庫節點區域,單擊開啟Serverless。
在開啟Serverless對話框中,設置只讀列存節點個數,并單擊確定。此處以創建一個只讀列存節點為例。
設置成功后,PolarDB會自動創建一個1~32PCU動態彈升的只讀列存節點。