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. Um virtual warehouse pode operar em vários clusters, e o auto scaling ajusta a quantidade de clusters ativos conforme a carga, gerenciando workloads de alta concorrência e garantindo isolamento de recursos dentro do warehouse.
Como funciona
Sem multi-cluster: Todos os recursos de computação de um virtual warehouse pertencem a um único cluster. Todas as requisições compartilham esses recursos.
Com multi-cluster: Vários clusters operam dentro de um único virtual warehouse. Os recursos de computação têm isolamento físico entre os clusters. O nó de acesso FE balanceia a carga das requisições recebidas e as encaminha para execução em um cluster específico.
Com multi-cluster e auto scaling: O 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, ele 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 simultaneamente no mesmo virtual warehouse.
Conceitos principais
Para definições sobre conceitos de multi-cluster, instâncias e recursos de computação no nível de virtual warehouse, consulte Visão geral do dimensionamento de recursos.
Exemplo de recurso: A tabela a seguir ilustra como os recursos são contabilizados quando um virtual warehouse utiliza auto scaling.
|
Recurso |
Valor |
Descrição |
|
Recursos reservados da instância |
64 CU |
Total de computação reservada para esta instância |
|
— Alocado para init_warehouse |
32 CU |
Recursos reservados comprometidos com o virtual warehouse |
|
— Não alocado |
32 CU |
Disponível para novos virtual warehouses ou para aumentar a computação reservada |
|
Recursos elásticos da instância |
32 CU |
Computação iniciada pelo recurso de elasticidade |
|
Clusters reservados do init_warehouse |
1 |
Quantidade de Clusters sempre ativos |
|
Especificação de Cluster individual |
32 CU |
Computação por Cluster |
|
Recursos reservados |
32 CU |
1 × 32 CU |
|
Quantidade atual de Clusters |
2 |
1 reservado + 1 elástico |
|
Recursos elásticos |
32 CU |
Computação iniciada pelo auto scaling |
|
Total de recursos de computação |
64 CU |
32 CU reservados + 32 CU elásticos |
Os recursos elásticos da instância são independentes dos recursos não alocados da instância. Mesmo que uma instância possua recursos reservados não alocados, o auto scaling inicia computação elástica adicional em vez de utilizar esses recursos disponíveis.
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 Conceder acesso ao Hologres para usuários RAM.
Desenvolvimento: Privilégios de Superuser na instância. Consulte Conceder permissões de desenvolvimento a um usuário RAM.
Observações e limitações
Impacto: O dimensionamento de clusters pode interromper brevemente tarefas específicas de leitura/escrita. Consulte Scale out (dimensionamento horizontal).
Conflito de recursos: O dimensionamento agendado e o auto scaling não podem ser ativados simultaneamente para um 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 Monitoramento e alertas.
-
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.
China (Chengdu), China (Hong Kong), Singapura, Alemanha (Frankfurt), EUA (Silicon Valley), EUA (Virginia), Emirados Árabes Unidos (Dubai), Japão (Tóquio), Malásia (Kuala Lumpur), Indonésia (Jacarta), Finance Cloud China (Shanghai), Alibaba Gov Cloud China (Beijing), Finance Cloud China (Shenzhen)
Não suportado
Teste indisponível.
Faturamento
Os recursos reservados são cobrados conforme o método de faturamento da sua instância (assinatura ou pagamento conforme o uso).
Os recursos elásticos seguem o modelo de pagamento conforme o uso, com cobrança separada 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 Faturamento.
Ativar multi-cluster
Ative o recurso multi-cluster modificando o número de clusters reservados de um virtual warehouse. Para etapas detalhadas, consulte Scale out (dimensionamento horizontal).
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 o scale-out elástico. O 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 espaços reservados pelos seus valores reais. Para detalhes sobre parâmetros de conexão, consulte Conectar ao Hologres e desenvolver dados.
Espaço reservado
Descrição
<AccessKey_Secret>Segredo da AccessKey da sua conta
<Database>Nome do banco de dados Hologres de destino
<AccessKey_ID>ID da 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 alta carga, 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 do virtual warehouse:

Um novo cluster é adicionado quando a utilização de CPU do 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 do seu virtual warehouse. Para instruções de configuração, consulte Métricas de monitoramento.
Utilização de CPU do cluster
Uso de memória do cluster
Número de vCPUs iniciadas pelo auto scaling do 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 Cloud Monitor
Os eventos de scale-out e scale-in do auto scaling são registrados no CloudMonitor.
-
Acesse o Centro de Eventos do Cloud Monitor. Na página System Event, selecione Hologres como produto 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 um 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 Usar alertas para eventos de sistema.
O exemplo a seguir mostra um payload de evento do Cloud Monitor para uma falha de scale-out:
{
"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 Logs de eventos de auditoria.