Os recursos de multi-cluster e auto scaling estão disponíveis para instâncias de virtual warehouse no Hologres V4.0 e versões posteriores. Uma virtual warehouse pode operar em vários clusters, e o auto scaling ajusta a quantidade de clusters ativos conforme a carga, gerencia workloads de alta concorrência e garante isolamento de recursos dentro da warehouse.
Como funciona
Sem multi-cluster: Todos os recursos de computação de uma virtual warehouse pertencem a um único cluster. Todas as solicitações compartilham esses recursos.
Com multi-cluster: Vários clusters operam dentro de uma única virtual warehouse. Os recursos de computação têm isolamento físico entre os clusters. O nó de acesso FE balanceia a carga das solicitações recebidas e as encaminha para execução em um cluster específico.
Com multi-cluster e auto scaling: A virtual warehouse monitora a carga (uso de recursos e filas) e inicia automaticamente clusters elásticos adicionais durante períodos de alta demanda. Quando a carga diminui, ela libera esses clusters elásticos para reduzir custos.
Escolha um modo
Use esta tabela para selecionar o modo mais adequado ao seu workload antes de iniciar qualquer configuração.
|
Modo |
Ideal para |
Não recomendado para |
|
Multi-cluster (fixo) |
Workloads de alta concorrência com consultas pequenas a médias e carga estável e previsível |
Workloads de baixa concorrência com tarefas grandes que exigem mais computação em um único cluster |
|
Multi-cluster + auto scaling |
Workloads de alta concorrência com picos de tráfego imprevisíveis |
Tarefas grandes de baixa concorrência; workloads já gerenciados por dimensionamento agendado |
Quando usar dimensionamento manual ou agendado: Se o pico de tráfego for previsível, ajuste manualmente o número de Clusters ou use a elasticidade baseada em tempo. O auto scaling oferece maior valor quando os picos são imprevisíveis. Não é possível usar elasticidade baseada em tempo e auto scaling na mesma virtual warehouse simultaneamente.
Pré-requisitos, observações e limitações
Pré-requisitos
Antes de começar, certifique-se de ter:
Uma instância de virtual warehouse executando Hologres V4.0 ou posterior
-
Permissões: Uma conta Alibaba Cloud ou um usuário do Resource Access Management (RAM) com as seguintes permissões:
Política RAM: AliyunHologresWarehouseFullAccess. Consulte Grant access to Hologres for RAM users.
Desenvolvimento: Privilégios de Superuser na instância. Consulte Grant development permissions to a RAM user.
Observações e limitações
Impacto: O dimensionamento de clusters pode interromper brevemente tarefas específicas de leitura/escrita. Consulte Scale out (horizontal scaling).
Conflito de recursos: O dimensionamento agendado e o auto scaling não podem ser ativados simultaneamente para uma virtual warehouse. Operações manuais, como iniciar/parar e ajustes de computação no console do Hologres, permanecem disponíveis.
Possível falha de provisionamento: A inicialização de clusters elásticos não é garantida. Configure alertas para possíveis falhas de provisionamento. Consulte Monitoring and alerts.
-
Disponibilidade regional:
Recurso
Disponibilidade
Multi-cluster
Todas as regiões
Auto scaling
Consulte a tabela abaixo
Região
Suporte a auto scaling
Observações
China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen)
Suportado (beta)
Preencha o formulário para solicitar um teste.
Faturamento
Os recursos reservados são faturados conforme o método de faturamento da sua instância (assinatura ou pagamento conforme o uso).
Os recursos elásticos utilizam o modelo de pagamento conforme o uso, com faturamento separado para a computação elástica iniciada:
Cost = Elastic resources launched (CU × hour) × Unit price
A Alibaba Cloud registra o uso de recursos elásticos a cada minuto e envia uma fatura horária. As taxas são deduzidas automaticamente da sua conta. Para preços unitários, consulte Billing.
Ativar multi-cluster
Para ativar o recurso multi-cluster, modifique o número de clusters reservados de uma virtual warehouse. Para etapas detalhadas, consulte Scale out (horizontal scaling).
Ativar auto scaling
O auto scaling ajusta a quantidade de clusters ativos com base na carga, incluindo uso de recursos e filas.
Faça login no Console do Hologres. No canto superior esquerdo, selecione a região onde sua instância está implantada.
No painel de navegação à esquerda, clique em Instances. Clique no Instance ID/Name desejado para abrir a página Instance Details.
No painel de navegação à esquerda da página de detalhes da instância, selecione Virtual Warehouse Management. À direita, selecione a aba Auto-scaling.
Ative a opção Enable Auto-scaling. Defina o valor de Maximum Clusters e clique em Save.
O parâmetro Maximum Clusters define o limite máximo para expansão elástica. A virtual warehouse adiciona clusters até esse limite durante períodos de alta carga.
Verificar o comportamento do auto scaling
Após ativar o auto scaling, use o pgbench (ferramenta nativa de teste de desempenho do PostgreSQL) para confirmar se o dimensionamento é acionado corretamente. Este exemplo usa uma configuração de 32 CU por cluster, 1 cluster reservado e um máximo de 4 clusters.
-
Crie tabelas de teste e carregue dados:
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; -
No servidor de teste de estresse, crie um arquivo chamado
select.sqlcom a seguinte consulta:EXPLAIN ANALYZE SELECT * FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.col3 = tbl_2.col3 ORDER BY 1; -
Defina a senha como uma variável de ambiente:
export PGPASSWORD='<AccessKey_Secret>' -
Execute o teste de estresse. Substitua os placeholders pelos valores reais. Para detalhes sobre parâmetros de conexão, consulte Connect to Hologres and develop data.
Placeholder
Descrição
<AccessKey_Secret>Segredo do AccessKey da sua conta
<Database>Nome do banco de dados Hologres de destino
<AccessKey_ID>ID do AccessKey da sua conta
<Endpoint>Endpoint da instância Hologres
<Port>Porta de conexão
pgbench \ -c 30 \ -j 30 \ -f select.sql \ -d <Database> \ -U <AccessKey_ID> \ -h <Endpoint> \ -p <Port> \ -T 1800
Resultados esperados:
-
Utilização de CPU do cluster:

Quando o cluster 1 sustenta uma carga elevada, o auto scaling adiciona um cluster (posição 1 no gráfico).
Após o término do teste de estresse, ambos os clusters apresentam baixa carga e o auto scaling remove o cluster elástico (posição 2).
-
Utilização de CPU da virtual warehouse:

Um novo cluster é adicionado quando a utilização de CPU da virtual warehouse excede continuamente 85%.
Após a adição do novo cluster, a utilização geral de CPU cai para aproximadamente 70%.
Monitoramento e alertas
Métricas
No Console do Hologres, monitore as seguintes métricas da sua virtual warehouse. Para instruções de configuração, consulte Monitoring metrics.
Utilização de CPU do cluster
Uso de memória do cluster
Quantidade de vCPUs iniciadas pelo auto scaling da virtual warehouse
Logs de eventos elásticos
Na página Virtual Warehouse Management, clique na aba Elastic Event Execution Logs.
Selecione um intervalo de tempo para visualizar eventos de dimensionamento anteriores. Cada registro de evento inclui o horário de execução, virtual warehouse, status de execução, tipo de evento, número de clusters reservados e número alvo de clusters.
Eventos do CloudMonitor
Os eventos de expansão e redução do auto scaling são registrados no CloudMonitor.
-
Acesse o Centro de Eventos do Cloud Monitor. Na página System Event, selecione Hologres como product na área Event Monitoring. Os seguintes eventos de auto scaling estão disponíveis:
Nome do evento
Descrição
Instance:Warehouse:AutoElastic:StartO auto scaling foi iniciado para uma virtual warehouse
Instance:Warehouse:AutoElastic:FinishO auto scaling foi concluído com sucesso
Instance:Warehouse:AutoElastic:FailedFalha no auto scaling (por exemplo, não foi possível iniciar um Cluster)
Com base nesses eventos, configure notificações ou regras de alerta. Para instruções de configuração, consulte Use alerts for system events.
O exemplo a seguir mostra um payload de evento do Cloud Monitor para uma falha na expansão:
{
"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"
}
ActionTrail
Todas as operações realizadas no Console do Hologres — incluindo a edição de configurações de auto scaling — e as operações reais de dimensionamento de clusters acionadas pelo auto scaling são registradas no ActionTrail. Para mais detalhes, consulte Audit event logs.