Hologres V2.0版本推出了全新的計算群組執行個體形態,方便您使用一個執行個體即可實現讀寫分離的架構。本文為您介紹計算群組執行個體的架構。
背景資訊
在Hologres V1.1版本中,已經實現了共用儲存的多執行個體讀寫分離高可用部署架構。一個主執行個體可以綁定多個唯讀從執行個體,各執行個體之間共用儲存,但計算資源是互相隔離的,從而實現了讀寫分離的高可用部署。詳情請參見主從執行個體讀寫分離部署(共用儲存)。然而,當前的唯讀從執行個體模式存在以下限制:
需要建立多個執行個體,每個執行個體使用獨立的Endpoint,切換流量時需要更改Endpoint。
唯讀從執行個體與主執行個體共用一套中繼資料,無法針對每個唯讀從執行個體的具體作用單獨設定參數,例如,無法根據查詢高可用的要求,為每個唯讀從執行個體配置不同的Replica(副本)數量。
為瞭解決上述問題,Hologres V2.0版本推出了全新的計算群組執行個體形態,將計算資源分解為不同的計算群組(Virtual Warehouse),能夠同時有效支援讀寫分離、資源隔離及業務隔離等多種情境,為使用者提供資源隔離和彈性等核心能力。與唯讀從執行個體模式相比,具有以下優勢:
計算群組具備獨立的彈性可擴充(彈性分配、按需建立)。
計算群組之間可共用資料和中繼資料。
僅需一個Endpoint,即可在無需切換Endpoint的情況下實現流量切換。
Hologres V4.0版本起,進一步升級計算群組執行個體架構,在原本靈活讀寫分離、讀讀分離的基礎上,可以進一步實現極致的寫寫分離。
注意事項
一個計算群組執行個體最多建立10個計算群組,單個計算群組資源最小32 CU,最大512 CU。
自Hologres V3.0.10版本起,計算群組的最大規格調整至1024 CU。
自Hologres V3.0.27版本起,取消計算群組的最大規格限制。
Hologres V2.0版本,計算群組對資料讀寫任務的支援情況為:
僅主計算群組(Leader)可執行資料寫入任務。
所有計算群組(Leader、Follower)均可執行資料查詢任務。
計算群組的Leader、Follower授權請參見計算群組資料訪問授權。
Hologres V4.0版本起,計算群組對資料寫入任務的支援情況為:
僅主計算群組(Leader)可執行經Fixed Plan最佳化的寫入任務,包括Insert、Update、Fixed Copy等,詳見Fixed Plan加速SQL執行。
所有計算群組(Leader、Follower)均可執行資料大量匯入任務,如
insert into select。需開啟GUC hg_warehouse_enable_use_local_resource,詳見GUC參數。
架構介紹
產品架構圖如下所示:
V4.0版本架構
V4.0版本架構全新升級,針對同一Table Group,可實現極致寫寫隔離:
V2.0版本架構
V2.0版本可支援基礎讀寫隔離、讀讀隔離。
V2.0版本如需寫寫隔離,需要業務在儲存層拆分多個Table Group,詳見基本概念。
計算群組的核心組件主要分為三個層面:
資料存放區:Hologres資料存放區是構建在Alibaba Pangu儲存服務上,提供高效能、高可靠、高可用、低成本、彈性儲存空間、強大穩定安全等核心服務。
計算群組(Virtual Warehouse):計算群組是獨立、彈性可擴充的計算資源,負責執行使用者的查詢請求。
雲端服務組件:雲端服務組件包括網關、Meta Service、Holo Master等,主要具備中繼資料管理、安全認證管理、統一接入管理以及節點管理等能力。其中網關(Gateway)主要用於轉寄串連,負責將不同的串連轉寄到各個計算群組的FE。例如,需要使用
read_warehouse計算群組,Gateway會負責把串連轉到read_warehouse計算群組的其中一個FE上。單個Gateway處理建立串連的峰值能力為100次/秒(V2.2.22版本起提升至150次/秒)。