> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Artigo sobre o recurso Scheduled Scaling no ClickHouse Cloud

# Scheduled scaling

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

export const PrivatePreviewBadge = () => {
  return <div className="privatePreviewBadge">
            <div className="privatePreviewIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M5.33301 6.66667V4.66667V4.66667C5.33301 3.194 6.52701 2 7.99967 2V2C9.47234 2 10.6663 3.194 10.6663 4.66667V4.66667V6.66667" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path d="M8.00033 9.33337V11.3334" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path fillRule="evenodd" clipRule="evenodd" d="M11.333 14H4.66634C3.92967 14 3.33301 13.4033 3.33301 12.6666V7.99996C3.33301 7.26329 3.92967 6.66663 4.66634 6.66663H11.333C12.0697 6.66663 12.6663 7.26329 12.6663 7.99996V12.6666C12.6663 13.4033 12.0697 14 11.333 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'Em prévia privada no ClickHouse Cloud'}
        </div>;
};

<PrivatePreviewBadge />

Os serviços do ClickHouse Cloud escalam automaticamente com base na utilização de CPU e memória, mas muitas cargas de trabalho seguem padrões previsíveis — picos diários de ingestão, jobs em lote executados durante a noite ou tráfego que cai acentuadamente nos fins de semana. Para esses casos de uso, o Scheduled Scaling permite definir exatamente quando seu serviço deve aumentar ou reduzir a escala, independentemente das métricas em tempo real.

Com o Scheduled Scaling, você configura um conjunto de regras baseadas em tempo diretamente no console do ClickHouse Cloud. Cada regra especifica um horário, uma recorrência (diária, semanal ou personalizada) e o tamanho de destino — seja o número de réplicas (horizontal) ou o nível de memória (vertical). No horário agendado, o ClickHouse Cloud aplica automaticamente a alteração, para que seu serviço esteja dimensionado corretamente antes da chegada da demanda, em vez de reagir depois.

Isso é diferente do autoscaling baseado em métricas, que responde dinamicamente à pressão sobre CPU e memória. O Scheduled Scaling é determinístico: você sabe exatamente quando o scaling acontecerá e para qual tamanho. As duas abordagens são complementares — um serviço pode ter um cronograma básico de scaling e ainda se beneficiar do autoscaling dentro dessa janela se as cargas de trabalho variarem de forma inesperada.

No momento, o Scheduled Scaling está disponível em **Private Preview**. Para habilitá-lo para sua organização, entre em contato com o suporte do ClickHouse.

<div id="setting-up-a-scaling-schedule">
  ## Configurando um agendamento de escalonamento
</div>

Para configurar um agendamento, acesse seu serviço no console do ClickHouse Cloud e vá até as configurações. Em seguida, selecione **Schedule Override** e adicione uma nova regra.

<Image img="https://mintcdn.com/private-7c7dfe99/A68-kVUDkVcT2W3b/images/cloud/features/autoscaling/scheduled-scaling-1.webp?fit=max&auto=format&n=A68-kVUDkVcT2W3b&q=85&s=43502e6f556d61f68ff3ae611e307f2d" size="md" alt="A interface de agendamentos de escalonamento no console do ClickHouse Cloud, mostrando regras de escalonamento baseadas em horário" border width="748" height="1606" data-path="images/cloud/features/autoscaling/scheduled-scaling-1.webp" />

<Image img="https://mintcdn.com/private-7c7dfe99/A68-kVUDkVcT2W3b/images/cloud/features/autoscaling/scheduled-scaling-2.webp?fit=max&auto=format&n=A68-kVUDkVcT2W3b&q=85&s=dccf2cb765b3abb93d4e0da2e12ace95" size="md" alt="Configurando uma regra de Scheduled Scaling no console do ClickHouse Cloud" border width="938" height="534" data-path="images/cloud/features/autoscaling/scheduled-scaling-2.webp" />

Cada regra exige:

* **Hora:** quando a ação de escalonamento deve ocorrer (no seu fuso horário local)
* **Recorrência:** com que frequência a regra se repete (por exemplo, todos os dias úteis, todo domingo)
* **Tamanho de destino:** o número de réplicas ou a alocação de memória para a qual deve escalar

Várias regras podem ser combinadas para formar um agendamento semanal completo. Por exemplo, você pode escalar para 5 réplicas todos os dias úteis às 6h e reduzir novamente para 2 réplicas às 20h.

<div id="use-cases">
  ## Casos de uso
</div>

**Cargas de trabalho em lote e ETL:** Aumente a escala antes da execução de um job noturno de ingestão e reduza-a novamente assim que ele for concluído, evitando superprovisionamento durante as horas ociosas do dia.

**Padrões de tráfego previsíveis:** Serviços com horários de pico consistentes (por exemplo, tráfego de consultas em horário comercial) podem ser escalados antecipadamente para lidar com a carga antes que ela chegue, em vez de esperar o autoscaling reagir.

**Redução de escala no fim de semana:** Reduza a contagem de réplicas ou a camada de memória nos fins de semana, quando a demanda é menor, e depois restaure a capacidade antes do pico de segunda-feira pela manhã.

**Controle de custos:** Para equipes que gerenciam os gastos com o ClickHouse Cloud, reduções programadas de escala durante períodos conhecidos de baixa utilização podem reduzir significativamente o consumo de recursos sem nenhuma intervenção manual.

<Note>
  Uma ação de Scheduled Scaling e uma recomendação concorrente de autoscaling podem interagir — o agendamento tem precedência no momento em que é acionado.
</Note>

<div id="handling-bursty-workloads">
  ## Como lidar com picos de carga de trabalho
</div>

Se você espera um pico de carga de trabalho em breve, pode usar a
[ClickHouse Cloud API](/docs/pt-BR/products/cloud/features/admin-features/api/api-overview) para
escalar seu serviço preventivamente a fim de lidar com esse pico e reduzi-lo
quando a demanda diminuir.

Para entender quantos núcleos de CPU e quanta memória estão sendo usados por
cada uma das suas réplicas, você pode executar a consulta abaixo:

```sql theme={null}
SELECT *
FROM clusterAllReplicas('default', view(
    SELECT
        hostname() AS server,
        anyIf(value, metric = 'CGroupMaxCPU') AS cpu_cores,
        formatReadableSize(anyIf(value, metric = 'CGroupMemoryTotal')) AS memory
    FROM system.asynchronous_metrics
))
ORDER BY server ASC
SETTINGS skip_unavailable_shards = 1
```
