如果您已經使用了Hologres的試用執行個體,當準備進行更深入的效能測試或將其用於生產環境時,您需要升級執行個體以滿足更高的效能要求。如果不升級執行個體,進行效能測試或運行生產任務時,可能會因資源不足導致出現延遲增加、處理速度變慢或服務中斷等現象。本文以試用執行個體(8 Core規格)為例,為您介紹試用執行個體應用到生產環境的操作。
步驟一:升配執行個體
Hologres 8Core規格執行個體僅推薦體驗使用與功能測試,不推薦用於效能測試和業務生產情境。
您需要進一步進行效能測試或需要接入生產任務時,需要先對執行個體進行升配(以64Core為例),操作詳情請參見執行個體升降配。
步驟二:修改Shard數
Hologres是分布式即時數倉引擎,資料存放區在底層儲存系統的資料分區(Shard)上。合理的Shard數意味著能夠更好地利用分散式運算資源,實現資料的平行處理,從而提升查詢效能。
Hologres 8Core規格執行個體的預設Shard數為2,執行個體升配後,預設Shard數不變,但計算節點(Worker)數量增加,無法發揮分布式系統的查詢效能優勢。因此在您完成執行個體升配後,請按照以下步驟修改Shard數,更多相關操作請參見Table Group與Shard Count操作指南。
下述操作步驟同樣支援通過HoloWeb進行可視化操作,詳情請參見Table Group管理。
建立Table Group並設定合適的Shard數。
Hologres 64Core規格執行個體的推薦Shard數為40,執行以下命令建立新的Table Group並設定Shard數:
CALL HG_CREATE_TABLE_GROUP ('<new_tg_name>', <shard_count>);
其中
new_tg_name
為新的Table Group名稱,shard_count
為Shard數。將新Table Group設為預設Table Group。
執行以下命令即可將新Table Group設為預設Table Group,後續建立的表會預設歸屬新Table Group。
CALL HG_UPDATE_DATABASE_PROPERTY ('default_table_group', '<new_tg_name>');
遷移存量表至新Table Group。
執行個體中存量表仍歸屬原Table Group,執行以下命令將存量表遷移至新Table Group。
-- V1.1及以上版本命令文法 CALL HG_MOVE_TABLE_TO_TABLE_GROUP('<table_name>','<new_tg_name>'); -- V0.10版本命令文法 CALL HG_UPDATE_TABLE_SHARD_COUNT('<table_name>','<new_tg_name>');
(可選)資源隔離與高可用
如果您的業務有讀寫分離、讀讀分離的需求,可以使用Hologres支援的共用儲存多執行個體高可用方案,詳情請參見主從執行個體讀寫分離部署(共用儲存)。
以64Core為例,您可以將主執行個體調整為32Core,用於承載資料寫入任務,並開通32Core的唯讀從執行個體,用於承載業務的查詢需求,實現讀寫分離。如果多個業務都有查詢需求,可以通過更多的唯讀從執行個體分別承載,實現讀讀分離。
下一步
當您的作業上線生產環境且趨於穩定後:
相關文檔
Hologres不同執行個體規格均有其對應的預設Shard數,詳情請參見執行個體管理。
Shard數與Worker個數存在一定的分配關係,合理地設定Shard數可以從根本上提高資料的儲存與計算效率,詳情請參見Shard與計算節點Worker的關係。