> ## 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.

# Архитектура ClickHouse Cloud

> На этой странице описана архитектура 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>
            {'Закрытая предварительная версия'}
        </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="Архитектура Cloud" width="2048" height="1376" data-path="images/cloud/reference/architecture.webp" />

<div id="storage-backed-by-object-store">
  ## Хранилище на основе объектного хранилища
</div>

* Практически неограниченное хранилище
* Не нужно вручную разбивать данные на сегменты
* Значительно более низкая стоимость хранения данных, особенно тех, к которым обращаются нечасто

<div id="compute">
  ## Вычислительные ресурсы
</div>

* Автоматическое масштабирование и переход в режим простоя: не нужно заранее подбирать конфигурацию или выделять избыточные ресурсы под пиковую нагрузку
* Автоматический переход в режим простоя и возобновление: не нужно держать вычислительные ресурсы запущенными, когда ими никто не пользуется
* Безопасность и высокая доступность по умолчанию

<div id="administration">
  ## Администрирование
</div>

* Настройку, мониторинг, резервное копирование и биллинг мы берем на себя.
* Средства контроля затрат включены по умолчанию, и вы можете настроить их в консоли Cloud.

<div id="service-isolation">
  ## Изоляция сервиса
</div>

<div id="network-isolation">
  ### Сетевая изоляция
</div>

Все сервисы изолированы на уровне сети.

<div id="compute-isolation">
  ### Изоляция вычислительных ресурсов
</div>

Все сервисы развертываются в отдельных подах в соответствующих пространствах имен Kubernetes с изоляцией на сетевом уровне.

<div id="storage-isolation">
  ### Изоляция хранилища
</div>

Все сервисы используют отдельный подкаталог в общем бакете (AWS, GCP) или отдельный контейнер хранилища (Azure).

В AWS доступ к хранилищу управляется через AWS IAM, и у каждого сервиса своя уникальная роль IAM. Для сервиса Enterprise можно включить [CMEK](/ru/products/cloud/guides/security/cmek), чтобы обеспечить дополнительную изоляцию данных в состоянии покоя. В настоящее время CMEK поддерживается только для сервисов AWS.

В GCP и Azure сервисы изолированы на уровне объектного хранилища (у каждого сервиса свой бакет или контейнер хранилища).

<div id="compute-compute-separation">
  ## Compute-compute separation
</div>

[Compute-compute separation](/ru/products/cloud/features/infrastructure/warehouses) позволяет создавать несколько групп вычислительных узлов, каждая со своим URL-адресом сервиса, которые используют одно и то же общее Объектное хранилище. Это обеспечивает изоляцию вычислительных ресурсов для разных сценариев использования, например разделение операций чтения и записи при работе с одними и теми же данными. Это также способствует более эффективному использованию ресурсов, поскольку при необходимости группы вычислительных узлов можно масштабировать независимо друг от друга.

<h2 id="on-demand-compute">
  Вычисления по требованию
</h2>

<PrivatePreviewBadge />

Вычисления по требованию временно выделяют **воркеры** из управляемого ClickHouse пула для поддерживаемых рабочих нагрузок через ваш существующий сервис ClickHouse Cloud. Ваш сервис выполняет аутентификацию и координирует запрос, а выделенные воркеры берут на себя основную часть подходящих операций сканирования, JOIN и агрегации, выполняя их вне вычислительных ресурсов сервиса. Пул используется совместно сервисами ClickHouse Cloud, однако каждый воркер в один момент времени обслуживает только один сервис.

В период закрытой предварительной версии вычисления по требованию поддерживают только подходящие запросы `SELECT`. Доступность обеспечивается по мере возможности, производительность может различаться, а SLO и SLA ClickHouse Cloud не применяются.

[Условия обслуживания закрытой предварительной версии](https://clickhouse.com/legal/agreements/private-preview-terms-of-service)

<h2 id="concurrency-limits">
  Ограничения параллелизма
</h2>

В вашем сервисе ClickHouse Cloud нет ограничений на количество запросов в секунду (QPS). Однако существует ограничение: не более 1000 одновременных запросов на одну реплику. В конечном счете QPS зависит от среднего времени выполнения запроса и количества реплик в вашем сервисе.

Одно из основных преимуществ ClickHouse Cloud по сравнению с самоуправляемым экземпляром ClickHouse или другими базами данных и хранилищами данных заключается в том, что вы можете легко увеличить параллелизм, [добавив больше реплик (горизонтальное масштабирование)](/ru/products/cloud/features/autoscaling/horizontal#manual-horizontal-scaling).
