> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Arquitetura do ClickHouse Cloud

> Esta página descreve a arquitetura do ClickHouse Cloud

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'}
        </div>;
};

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

<Image img="https://mintcdn.com/private-7c7dfe99-parallel-read-in-order-multi-part/0fJmlhAIfr-a5jJ9/images/cloud/reference/architecture.webp?fit=max&auto=format&n=0fJmlhAIfr-a5jJ9&q=85&s=3548c8937a100197b708bde81410087d" size="lg" alt="Arquitetura da Cloud" width="2048" height="1376" data-path="images/cloud/reference/architecture.webp" />

<div id="storage-backed-by-object-store">
  ## Armazenamento baseado em armazenamento de objetos
</div>

* Armazenamento praticamente ilimitado
* Não é necessário fragmentar os dados manualmente
* Custo significativamente menor para armazenar dados, especialmente os acessados com menos frequência

<div id="compute">
  ## Computação
</div>

* Escalonamento e inatividade automáticos: não é necessário dimensionar com antecedência nem superprovisionar para picos de uso
* Inatividade automática e retomada: não é necessário manter recursos computacionais ociosos em execução quando ninguém os está usando
* Seguro e com HA por padrão

<div id="administration">
  ## Administração
</div>

* A configuração, o monitoramento, os backups e a cobrança são gerenciados para você.
* Os controles de custo vêm habilitados por padrão e podem ser ajustados por você no console do Cloud.

<div id="service-isolation">
  ## Isolamento de serviço
</div>

<div id="network-isolation">
  ### Isolamento de rede
</div>

Todos os serviços são isolados no nível de rede.

<div id="compute-isolation">
  ### Isolamento de computação
</div>

Todos os serviços são implantados em pods separados em seus respectivos namespaces do Kubernetes, com isolamento em nível de rede.

<div id="storage-isolation">
  ### Isolamento do armazenamento
</div>

Todos os serviços usam um subcaminho separado de um bucket compartilhado (AWS, GCP) ou de um contêiner de armazenamento (Azure).

Na AWS, o acesso ao armazenamento é controlado via AWS IAM, e cada IAM role é exclusiva para cada serviço. Para o serviço Enterprise, o [CMEK](/pt-BR/products/cloud/guides/security/cmek) pode ser habilitado para fornecer isolamento avançado de dados em repouso. No momento, o CMEK é compatível apenas com serviços da AWS.

No GCP e no Azure, os serviços têm isolamento de armazenamento de objetos (todos os serviços têm seus próprios buckets ou contêineres de armazenamento).

<div id="compute-compute-separation">
  ## computação-computação separation
</div>

[computação-computação separation](/pt-BR/products/cloud/features/infrastructure/warehouses) permite criar vários grupos de nós de computação, cada um com sua própria URL de serviço, que usam o mesmo armazenamento de objetos compartilhado. Isso permite isolar a computação para diferentes casos de uso, como separar leituras de gravações, mantendo os mesmos dados compartilhados. Também resulta em um uso mais eficiente dos recursos, ao permitir o escalonamento independente dos grupos de computação conforme necessário.

<h2 id="on-demand-compute">
  On-Demand Compute
</h2>

<PrivatePreviewBadge />

O On-Demand Compute atribui temporariamente **workers** de um pool gerenciado pela ClickHouse a workloads compatíveis por meio do seu ClickHouse Cloud serviço já existente. Seu serviço autentica e coordena a consulta, enquanto os workers atribuídos executam a maior parte do trabalho elegível de scan, join e aggregation fora da computação do serviço. O pool é compartilhado entre os serviços do ClickHouse Cloud, mas cada worker atende a apenas um serviço por vez.

Durante o private preview, o On-Demand Compute é compatível apenas com consultas `SELECT` elegíveis. A disponibilidade é de melhor esforço, o desempenho varia e os SLOs e SLAs do ClickHouse Cloud não se aplicam.

[Termos de serviço do Private Preview](https://clickhouse.com/legal/agreements/private-preview-terms-of-service)

<h2 id="concurrency-limits">
  Limites de concorrência
</h2>

Não há limite para o número de consultas por segundo (QPS) no seu serviço ClickHouse Cloud. No entanto, há um limite de 1000 consultas simultâneas por réplica. Em última instância, o QPS depende do tempo médio de execução das consultas e do número de réplicas no seu serviço.

Um grande benefício do ClickHouse Cloud em comparação com uma instância autogerenciada do ClickHouse ou outros bancos de dados e data warehouses é que você pode aumentar facilmente a concorrência [adicionando mais réplicas (escalonamento horizontal)](/pt-BR/products/cloud/features/autoscaling/horizontal#manual-horizontal-scaling).
