[Документация Yandex Cloud](../../index.md) > [Yandex Managed Service for ClickHouse®](../index.md) > Вопросы и ответы > Все вопросы на одной странице

# Вопросы и ответы про Managed Service for ClickHouse®


{% note info %}

В [регионе Казахстан](../../overview/concepts/region.md) доступны только [платформы](../../compute/concepts/vm-platforms.md#standard-platforms) `standard-v3` (Intel Ice Lake) и `standard-v3-t4i` (Intel Ice Lake with T4i). Другие типы платформ, кластеры GPU и выделенные хосты недоступны.

{% endnote %}


### Общие вопросы {#toc-general}

* [Что такое Managed Service for ClickHouse®?](#what-is)

* [Для чего используется ClickHouse®? Какую СУБД мне выбрать?](#why-ch)

* [Какую часть работы по управлению и сопровождению баз данных берет на себя Managed Service for ClickHouse®?](#services)

* [Для каких задач стоит использовать Managed Service for ClickHouse®, а для каких — виртуальные машины с базами данных?](#mdb-advantage)

* [Что такое хост базы данных и кластер базы данных?](#what-is-cluster)

* [Как начать работу с Managed Service for ClickHouse®?](#quickstart})

* [Сколько хостов БД может содержать кластер?](#how-many-hosts)

* [Как получить доступ к запущенному хосту базы данных?](#db-access)

* [Сколько кластеров можно создать в рамках одного облака?](#db-limit)

* [Как происходит обслуживание кластеров БД?](#service-window)

* [Как редактировать внешние словари?](#external-dict)

* [Какую версию ClickHouse® использует Managed Service for ClickHouse®?](#dbms-version)

* [Какую версию ClickHouse® выбрать?](#choose-version)

* [Что происходит, когда выпускается новая версия СУБД?](#new-version)

* [Что происходит, когда версия СУБД становится неподдерживаемой (deprecated)?](#dbms-deprecated)

* [Как рассчитывается стоимость потребления для хоста базы данных?](#db-cost)

* [Сколько стоит использование моего кластера?](#cluster-cost)

* [Как изменить вычислительные ресурсы и объем хранилища для кластера БД?](#resources-change)

* [Как исправить ошибку отсутствия прав при подключении сервисного аккаунта к кластеру?](#attach-service-account)

* [Какой размер блока используется на дисках кластера?](#block-size)

* [Соответствует ли сервис требованиям Федерального закона Российской Федерации № 152-ФЗ «О персональных данных»?](#fz-152)

* [Я могу получить логи моей работы в сервисах?](#logs)

### Вопросы о ClickHouse® {#toc-clickhouse}

* [Почему стоит использовать ClickHouse® в Managed Service for ClickHouse®, а не собственную установку на виртуальной машине?](#clickhouse-advantages-vm)

* [Когда стоит использовать ClickHouse® вместо PostgreSQL?](#clickhouse-advantages-pg)

* [Как загружать данные в ClickHouse®?](#load-data)

* [Как загрузить в ClickHouse® очень большое количество данных?](#loadalot)

* [Что случится с кластером, если выйдет из строя одна из нод?](#node-out)

* [Можно ли развернуть кластер БД ClickHouse® в нескольких зонах доступности?](#multiple-az)

* [Как устроена репликация для ClickHouse®?](#zookeeper-access)

* [Почему кластер ClickHouse® занимает на 3 хоста больше, чем должен?](#why-does-a-cluster-take-up-3-hosts-more-than-it-should)

* [Как происходит удаление данных по TTL в ClickHouse®?](#how-ttl-data-processing-works)

* [Могу ли я использовать тип данных JSON для таблиц в ClickHouse®?](#how-to-use-json)

* [Почему кластер работает медленно, хотя вычислительные ресурсы использованы не до предела?](#throttling)

### Подключение {#toc-connection}

* [Можно ли подключаться к отдельным хостам ClickHouse®?](#connect-node)

* [Можно ли для межсерверного взаимодействия при выполнении распределенных запросов указать произвольный порт?](#connect-port)

* [Почему я не могу подключиться к хосту из интернета?](#fail-connection)

* [Как подключиться к непубличному хосту в Yandex Cloud?](#private-host)

* [Можно ли подключиться к публичному кластеру без SSL?](#without-ssl)

* [Почему при подключении возникает ошибка `UNEXPECTED_PACKET_FROM_SERVER`?](#unexpected-packet)

* [Можно ли подключиться к хостам кластера по SSH или получить на хостах права суперпользователя?](#connect-ssh)

* [Что делать, если при получении SSL-сертификата через PowerShell возникает ошибка проверки отзыва?](#get-ssl-error)

### Изменение кластера {#toc-cluster-update}

* [Как добавить хост в кластер?](#add-host)

* [Можно ли выставить параметру join_use_nulls значение 1 через CLI?](#join-use-nulls)

* [Будет ли кластер недоступен во время обновления?](#update-availability)

* [Как изменить часовой пояс?](#timezone)

* [Будет ли кластер недоступен при добавлении реплик?](#add-replica-availability)

* [Как дать пользователю права только на чтение?](#readonly)

* [Как увеличить лимит памяти (memory limit)?](#memory-limit)

* [Можно ли изменить сеть и подсети?](#network)

* [Как изменить распределение данных по шардам в кластере?](#resharding)

### Настройки параметров кластера {#toc-cluster-settings}

* [Как создать пользователя для доступа из DataLens с правами только на чтение?](#datalens-readonly)

* [Как дать пользователю права на создание и удаление таблиц или БД?](#create-delete-role)

* [Как узнать значение настройки internal_replication?](#internal-replication)

* [Как повысить максимальный объем оперативной памяти для выполнения запроса?](#max-memory-usage)

* [Почему в кластере Managed Service for ClickHouse® должно быть три или пять хостов ZooKeeper?](#zookeeper-hosts-number)

### Перемещение и восстановление кластера {#toc-cluster-backups}

* [Как проводится резервное копирование для БД ClickHouse®?](#backup-overview)

* [Включено ли резервное копирование хостов БД по умолчанию?](#default-backup)

* [Когда выполняется резервное копирование? Доступен ли кластер БД во время резервного копирования?](#backup-window)

* [Сколько резервных копий хранится в Managed Service for ClickHouse®? Как долго?](#how-many-backups)

* [Можно ли удалить резервную копию?](#delete-backup)

* [Я могу изменить срок хранения автоматических резервных копий?](#backup-retain-days)

* [Что входит в ежедневные резервные копии?](#daily-backups)

* [Почему кластер долго восстанавливается из резервной копии?](#long-restore)

* [Как перенести существующий кластер ClickHouse® в Yandex Cloud?](#migration)

* [Можно ли восстановить шард из резервной копии в шард существующего кластера?](#shard-to-shard)

### Мониторинг и логи {#toc-monitoring}

* [За какими метриками и процессами можно следить с помощью мониторинга?](#monitoring-metrics)

* [Как тарифицируется хранение логов?](#logging-pricing)

* [Как долго хранятся логи?](#log-keeping)

* [Как следить за свободным объемом хранилища на хостах ZooKeeper?](#zookeeper-storage)

* [Как отслеживать объем, занимаемый данными в гибридном хранилище?](#hybrid)

* [Как настроить алерт, который срабатывает при заполнении определенного процента дискового пространства?](#disk-space-percentage)

## Общие вопросы {#general}

#### Что такое Managed Service for ClickHouse®? {#what-is}

Managed Service for ClickHouse® — это сервис, который помогает вам создавать, эксплуатировать и масштабировать базы данных ClickHouse® в облачной инфраструктуре.

С Managed Service for ClickHouse® вы можете:
- создавать базы данных с необходимыми параметрами производительности;
- масштабировать вычислительные мощности и выделенный объем хранилища для баз данных по мере необходимости;
- получать журналы работы баз данных.

Managed Service for ClickHouse® берет на себя трудоемкие задачи администрирования инфраструктуры ClickHouse®:
- предоставляет мониторинг потребляемых ресурсов;
- автоматически создает резервные копии баз данных;
- обеспечивает [высокую доступность](../concepts/high-availability.md) за счет автоматического переключения на резервные реплики;
- своевременно обновляет программное обеспечение СУБД.

Вы взаимодействуете с кластером БД в Managed Service for ClickHouse® как с обычной базой данных в вашей локальной инфраструктуре. Благодаря этому вы можете управлять внутренними настройками БД в соответствии с требованиями вашего приложения.

#### Для чего используется ClickHouse®? Какую СУБД мне выбрать? {#why-ch}

ClickHouse® предназначен прежде всего для [аналитики](../../glossary/data-analytics.md) (OLAP) и поддерживает только добавление и чтение данных. Обновление данных возможно, но с [рядом оговорок](https://stackoverflow.com/questions/37901642/updating-data-in-clickhouse). Для других целей, скорее всего, удобнее использовать другие СУБД.

#### Какую часть работы по управлению и сопровождению баз данных берет на себя Managed Service for ClickHouse®? {#services}

При создании кластеров Managed Service for ClickHouse® выделяет ресурсы, устанавливает СУБД и создает базы данных.

Для созданных и запущенных баз данных Managed Service for ClickHouse® автоматически создает резервные копии, а также устанавливает исправления и обновления СУБД.

Также Managed Service for ClickHouse® обеспечивает репликацию данных между хостами БД (как внутри, так и между [зонами доступности](../../overview/concepts/geo-scope.md)) и автоматически переключает нагрузку на резервную реплику в случае аварии.

При работе необходимо учитывать, что контролирует сервис, а что — клиент Yandex Cloud. Понимание этих зон контроля помогает эффективно использовать облачные ресурсы и избегать возможных проблем при работе с базами данных. Подробнее в разделе [Разграничение зон контроля пользователей сервисов управляемых баз данных (MDB) и Yandex Cloud](../../overview/concepts/mdb-responsibilities.md).

#### Для каких задач стоит использовать Managed Service for ClickHouse®, а для каких — виртуальные машины с базами данных? {#mdb-advantage}

Yandex Cloud предлагает два варианта работы с базами данных:

- Managed Service for ClickHouse® позволяет вам эксплуатировать шаблонные базы данных, не заботясь об администрировании.
- Виртуальные машины Yandex Compute Cloud позволяют вам создавать и настраивать собственные базы данных. Такой подход позволяет использовать любые СУБД, подключаться к базам данных по [SSH](../../glossary/ssh-keygen.md) и так далее.

#### Что такое хост базы данных и кластер базы данных? {#what-is-cluster}

_Хост БД_ — это изолированная среда базы данных в облачной инфраструктуре с выделенными вычислительными ресурсами и зарезервированным объемом хранилища данных.

_Кластер БД_ — это один или более хостов БД, между которыми можно настроить репликацию.

#### Как начать работу с Managed Service for ClickHouse®? {#quickstart}

Managed Service for ClickHouse® доступен всем зарегистрированным пользователям Yandex Cloud.

Чтобы создать кластер базы данных в Managed Service for ClickHouse®, необходимо определиться с его характеристиками:

- [Класс хостов](../concepts/instance-types.md) (характеристики производительности — процессоры, память и т. п.).
- Объем хранилища (резервируется в полном объеме при создании кластера).
- Сеть, к которой будет подключен ваш кластер.
- Количество хостов для кластера и зона доступности для каждого хоста вы можете выбрать зону доступности.

Подробные инструкции в разделе [Начало работы](../quickstart.md).

#### Сколько хостов БД может содержать кластер? {#how-many-hosts}


На минимальное количество хостов в кластере влияют:
    
  * Тип используемого [хранилища](../concepts/storage.md):

    * Минимум три хоста — для нереплицируемых SSD-дисков (`network-ssd-nonreplicated`).

    * Минимум два хоста — для локальных SSD-дисков (`local-ssd`).

    * Минимум один хост — для следующих дисков:

      * сетевые HDD-диски (`network-hdd`);
      * сетевые SSD-диски (`network-ssd`);
      * сверхбыстрые сетевые SSD-диски с тремя репликами (`network-ssd-io-m3`).

  * Шардирование кластера. При включенном шардировании минимальное количество хостов для выбранного типа диска нужно умножить на количество шардов.

    Подробнее об особенностях и ограничениях шардирования в ClickHouse® в разделе [Шардирование в Managed Service for ClickHouse®](../concepts/sharding.md).


Максимальное количество хостов в кластере ограничено установленными лимитами.

Подробнее в разделе [Квоты и лимиты](../concepts/limits.md).

#### Как получить доступ к запущенному хосту базы данных? {#db-access}

Вы можете подключаться к базам данных Managed Service for ClickHouse® способами, стандартными для СУБД.

[Подробнее о подключении к кластерам](../operations/connect/index.md).

#### Сколько кластеров можно создать в рамках одного облака? {#db-limit}

Технические и организационные ограничения MDB приведены в разделе [Квоты и лимиты](../concepts/limits.md).

#### Как происходит обслуживание кластеров БД? {#service-window}

Под обслуживанием в Managed Service for ClickHouse® понимается:

- автоматическая установка обновлений и исправлений СУБД для хостов БД (в т. ч. для выключенных кластеров);
- изменение класса хостов и объема хранилища;
- другие сервисные работы Managed Service for ClickHouse®.

Подробнее в разделе [Техническое обслуживание](../concepts/maintenance.md).

#### Как редактировать внешние словари? {#external-dict}

Чтобы переименовать словарь, выполните запрос:

```sql
RENAME DICTIONARY <имя_словаря> TO <новое_имя>
```

Для прочих изменений воспользуйтесь методом API [update](../api-ref/Cluster/update.md).

#### Какую версию ClickHouse® использует Managed Service for ClickHouse®? {#dbms-version}

Managed Service for ClickHouse® использует несколько последних стабильных версий ClickHouse®. Подробнее в разделе [Политика работы с версиями ClickHouse®](../concepts/update-policy.md).

#### Какую версию ClickHouse® выбрать? {#choose-version}

Рекомендуется выбирать последнюю доступную LTS-версию ClickHouse®. Подробнее в разделе [Политика работы с версиями ClickHouse®](../concepts/update-policy.md).

#### Что происходит, когда выпускается новая версия СУБД? {#new-version}

При выходе новых минорных версий программное обеспечение кластеров автоматически обновляется после короткого периода тестирования. 

Владельцы затронутых кластеров БД получают предварительное оповещение о сроках проведения работ и доступности баз данных. 

#### Что происходит, когда версия СУБД становится неподдерживаемой (deprecated)? {#dbms-deprecated}

Когда версия СУБД становится неподдерживаемой, Managed Service for ClickHouse® автоматически оповещает владельцев кластеров БД, созданных с этой версией, по электронной почте.

Для кластеров с неподдерживаемой версией СУБД создание новых хостов и восстановление из резервных копий становится невозможным. Кластеры с неподдерживаемой версией ClickHouse® обновляются в соответствии с [политикой работы с версиями](../concepts/update-policy.md).

Владельцы затронутых кластеров БД получают предварительное оповещение о сроках проведения работ и доступности баз данных.

#### Как рассчитывается стоимость потребления для хоста базы данных? {#db-cost}

В Managed Service for ClickHouse® стоимость потребления рассчитывается исходя из следующих параметров:

- Выбранный класс хостов.
- Объем хранилища, зарезервированного для хоста БД.
- Объем резервных копий кластера БД. Объем резервных копий, равный объему хранилища, не тарифицируется. Хранение резервных копий сверх этого объема оплачивается по [тарифам](../pricing.md).
- Количество часов работы хоста БД. Неполные часы округляются до целого значения. Стоимость часа работы для каждого класса хостов приведена в разделе [Правила тарификации](../pricing.md).

#### Сколько стоит использование моего кластера? {#cluster-cost}

В [консоли управления](https://kz.console.yandex.cloud) перейдите на страницу каталога, выберите сервис **Managed Service for&nbsp;ClickHouse** и нажмите на нужный кластер. В правой части экрана вы увидите стоимость использования кластера за месяц. Подробнее в [Правилах тарификации](../pricing.md).

#### Как изменить вычислительные ресурсы и объем хранилища для кластера БД? {#resources-change}

Вы можете изменять вычислительные ресурсы и объем хранилища в консоли управления — просто выберите другой класс хостов для нужного кластера.

Характеристики кластера изменяются в течение 30 минут. В этот период также могут быть включены другие сервисные работы по кластеру, например, установка обновлений.

#### Как исправить ошибку отсутствия прав при подключении сервисного аккаунта к кластеру? {#attach-service-account}

#### Как исправить ошибку отсутствия прав при подключении сервисного аккаунта к кластеру? {#attach-service-account}

Текст ошибки:

```text
ERROR: rpc error: code = PermissionDenied desc = you do not have permission to access the requested service account or service account does not exist
```

Ошибка возникает в следующих случаях:

* вы создаете или изменяете кластер и привязываете к нему сервисный аккаунт;
* вы восстанавливаете из резервной копии кластер с привязкой к сервисному аккаунту.

Чтобы исправить ошибку, [назначьте](../../iam/operations/roles/grant.md) вашему аккаунту в Yandex Cloud роль [iam.serviceAccounts.user](../../iam/security/index.md#iam-serviceAccounts-user) или выше.

#### Какой размер блока используется на дисках кластера? {#block-size}

Размер [блока](https://en.wikipedia.org/wiki/Block_(data_storage)) всех типов дисков — 4 КБ.

#### Соответствует ли сервис требованиям Федерального закона Российской Федерации № 152-ФЗ <q>О персональных данных</q>? {#fz-152}

Да, вы можете ознакомиться с полным [заключением](https://storage.yandexcloud.kz/yc-compliance/conformance_ru_pdp.pdf) по результатам аудита системы защиты.

#### Я могу получить логи моей работы в сервисах? {#logs}

Да, вы можете запросить информацию о работе с вашими ресурсами из логов сервисов Yandex Cloud. Для этого обратитесь в [техническую поддержку](https://kz.center.yandex.cloud/support).

## Вопросы о ClickHouse® {#clickhouse}

#### Почему стоит использовать ClickHouse® в Managed Service for ClickHouse®, а не собственную установку на виртуальной машине? {#clickhouse-advantages-vm}

Managed Service for ClickHouse® автоматизирует рутинное обслуживание БД:

* быстрое развертывание БД с необходимыми доступными ресурсами;

* резервное копирование данных;

* регулярное обновление ПО;

* обеспечение [высокой доступности](../concepts/high-availability.md) кластеров БД;

* мониторинг и статистика использования БД.

#### Когда стоит использовать ClickHouse® вместо PostgreSQL? {#clickhouse-advantages-pg}

ClickHouse® поддерживает только добавление и чтение данных, так как предназначен прежде всего для [аналитики](../../glossary/data-analytics.md) (OLAP). В остальных случаях, скорее всего, удобнее использовать PostgreSQL.

#### Как загружать данные в ClickHouse®? {#load-data}

Используйте запрос `INSERT`, описанный в [документации ClickHouse®](https://clickhouse.com/docs/ru/sql-reference/statements/insert-into).

#### Как загрузить в ClickHouse® очень большое количество данных? {#loadalot}

Используйте [CLI](https://clickhouse.com/docs/ru/interfaces/cli) для эффективного сжатия данных при передаче (рекомендуемая частота — не больше 1 команды `INSERT` в секунду).

Перенос данных с физических носителей пока не поддерживается.

#### Что случится с кластером, если выйдет из строя одна из нод? {#node-out}

Кластеры БД состоят минимум из 2 реплик, поэтому при потере одной ноды кластер продолжит работу.

Данные могут потеряться только если вышла из строя нода с [нереплицируемой таблицей](https://clickhouse.com/docs/ru/engines/table-engines/mergetree-family/replication).

#### Можно ли развернуть кластер БД ClickHouse® в нескольких зонах доступности? {#multiple-az}

Да. Кластер БД может состоять из хостов, расположенных как в разных [зонах](../../overview/concepts/geo-scope.md), так и в разных регионах доступности.

#### Как устроена репликация для ClickHouse®? {#zookeeper-access}

Кластеры Managed Service for ClickHouse® используют репликацию с помощью ClickHouse® Keeper или ZooKeeper. В обоих случаях для обеспечения репликации и [высокой доступности](../concepts/high-availability.md) в кластере создается минимум три хоста ClickHouse® Keeper или ZooKeeper.

#### Почему кластер ClickHouse® занимает на 3 хоста больше, чем должен? {#why-does-a-cluster-take-up-3-hosts-more-than-it-should}

Когда вы создаете кластер ClickHouse® из 2 и более хостов, Managed Service for ClickHouse® автоматически создает 3 хоста сервиса координации (ClickHouse® Keeper или ZooKeeper, в зависимости от выбора пользователя) для управления репликацией и высокой доступностью. Эти хосты учитываются в расчете использованной [квоты ресурсов](https://kz.console.yandex.cloud/cloud?section=quotas) в облаке и в расчете стоимости кластера. По умолчанию хосты ClickHouse® Keeper или ZooKeeper создаются с минимальным [классом хостов](../concepts/instance-types.md).

Подробнее об использовании ZooKeeper в [документации ClickHouse®](https://clickhouse.com/docs/ru/engines/table-engines/mergetree-family/replication).

#### Как происходит удаление данных по TTL в ClickHouse®? {#how-ttl-data-processing-works}

Удаление данных по [TTL](https://clickhouse.com/docs/ru/engines/table-engines/mergetree-family/mergetree#mergetree-table-ttl) выполняется не построчно, а либо целыми [кусками](https://clickhouse.com/docs/ru/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-multiple-volumes) (data parts), либо при операциях слияния.

Удаление целыми кусками работает эффективней и потребляет меньше ресурсов сервера, но для этого значение выражения TTL и [ключ партиционирования](https://clickhouse.com/docs/ru/engines/table-engines/mergetree-family/custom-partitioning-key) для всех строк куска данных TTL должны совпадать или хотя бы быть одного порядка.

Удаление при операциях слияния потребляет больше ресурсов и выполняется либо вместе с обычными фоновыми операциями слияния, либо во время внеплановых слияний. Периодичность операций слияния определяется значением параметра `merge_with_ttl_timeout`. Этот параметр задается при [создании](https://clickhouse.com/docs/ru/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-creating-a-table) таблицы и указывает минимальное время в секундах перед повторным слиянием для обработки данных с истекшим TTL. По умолчанию — 14400 секунд (4 часа).

Рекомендуется организовывать обработку данных по TTL так, чтобы старые данные всегда удалялись целыми кусками. Для этого при создании таблиц установите для настройки [ttl_only_drop_parts](https://clickhouse.com/docs/ru/operations/settings/settings#ttl_only_drop_parts) значение `true`.

#### Могу ли я использовать тип данных JSON для таблиц в ClickHouse®? {#how-to-use-json}

Да, но на данный момент JSON является экспериментальным типом данных в ClickHouse®. Чтобы разрешить создание таблиц такого типа, выполните запрос:

```sql
SET allow_experimental_object_type=1;
```

{% note info %}

Запросы `SET` [не поддерживаются](../operations/web-sql-query.md#query-restrictions-in-the-management-console) при подключении к кластеру через консоль управления. Для выполнения этого запроса используйте другой способ подключения к кластеру, например, [через clickhouse-client](../operations/connect/clients.md#clickhouse-client).

Убедитесь, что у вас установлена актуальная версия клиента.

{% endnote %}

Подробная информация в [документации ClickHouse®](https://clickhouse.com/docs/ru/sql-reference/data-types/newjson).

#### Почему кластер работает медленно, хотя вычислительные ресурсы использованы не до предела? {#throttling}

Вероятно, максимальные значения [IOPS и пропускной способности (bandwidth)](../../compute/concepts/storage-read-write.md) хранилища недостаточны для обработки текущего количества запросов. В этом случае срабатывает [троттлинг](../../compute/concepts/storage-read-write.md#throttling) и быстродействие всего кластера падает.

Максимальные IOPS и bandwidth прирастают на фиксированную величину при увеличении размера хранилища на определенный шаг. Шаг и прирост зависят от типа дисков:

| Тип дисков                  | Шаг, ГБ | Прирост макс. IOPS (чтение/запись) | Прирост макс. bandwidth (чтение/запись), МБ/с |
|-----------------------------|---------|------------------------------------|-----------------------------------------------|
| `network-hdd`               | 256     | 300/300                            | 30/30                                         |
| `network-ssd`               | 32      | 1000/1000                          | 15/15                                         |
| `network-ssd-nonreplicated`, `network-ssd-io-m3` | 93      | 28000/5600                         | 110/82                                        |

Чтобы увеличить максимальные значения IOPS и bandwidth и снизить вероятность троттлинга, расширьте размер хранилища при [изменении кластера](../operations/update.md#change-disk-size).

Если вы используете хранилище с типом диска `network-hdd`, рассмотрите возможность перехода на `network-ssd` или `network-ssd-nonreplicated` путем [восстановления кластера](../operations/cluster-backups.md#restore) из резервной копии.

## Подключение {#connection}

#### Можно ли подключаться к отдельным хостам ClickHouse®? {#connect-node}

Да. Подключиться к хостам кластера ClickHouse® можно:

* через [HTTPS-интерфейс](https://clickhouse.com/docs/ru/interfaces/http):
    * по шифрованному соединению с использованием [SSL](../../glossary/ssl-certificate.md) — порт 8443;
    * без шифрования — порт 8123;

* через [клиент командной строки](https://clickhouse.com/docs/ru/interfaces/cli):
    * по шифрованному соединению с использованием SSL — порт 9440;
    * без шифрования — порт 9000.

Подключение по [SSH](../../glossary/ssh-keygen.md) не поддерживается.

#### Можно ли для межсерверного взаимодействия при выполнении распределенных запросов указать произвольный порт? {#connect-port}

Managed Service for ClickHouse® использует Native / TLS протокол (порт 9440) для межсерверного взаимодействия при выполнении распределенных запросов. Возможность менять протокол или порт не предусмотрена.

#### Почему я не могу подключиться к хосту из интернета? {#fail-connection}

Скорее всего в кластере не включен публичный доступ, поэтому к нему можно подключаться только с ВМ в Yandex Cloud. Запросить публичный доступ можно только при [создании нового хоста](../concepts/network.md#public-access-to-a-host) в кластере.

#### Как подключиться к непубличному хосту в Yandex Cloud? {#private-host}

[Подключитесь](../operations/connect/clients.md) к хосту с виртуальной машины Yandex Cloud, расположенной в той же облачной сети, или [добавьте](../operations/hosts.md#add-host) в кластер еще один хост с публичным доступом и подключайтесь к непубличному хосту через него.

#### Можно ли подключиться к публичному кластеру без SSL? {#without-ssl}

Нет, к публичным хостам подключиться можно только используя SSL-соединение. Подробнее в [документации](../operations/connect/index.md).

#### Почему при подключении возникает ошибка `UNEXPECTED_PACKET_FROM_SERVER`? {#unexpected-packet}

Полный текст ошибки:

```text
Code: 102. DB::NetException:
Unexpected packet from server <FQDN_хоста>.mdb.yandexcloud.net:9440
(expected Hello or Exception, got Unknown packet)
```

Эта ошибка возникает при попытке подключиться к хосту ClickHouse® через порт 9440, не используя шифрование. Подключиться через порт 9440 можно только по шифрованному соединению с использованием SSL.

Убедитесь, что при подключении через порт 9440 вы указываете параметр `--secure`.

Подробнее о способах подключения в разделе [Подключение к кластеру ClickHouse®](../operations/connect/clients.md).

#### Можно ли подключиться к хостам кластера по SSH или получить на хостах права суперпользователя? {#connect-ssh}

Подключиться к хостам через SSH не получится. Это сделано в целях безопасности и отказоустойчивости пользовательских кластеров, так как прямые изменения внутри хоста могут привести к его полной неработоспособности.

#### Что делать, если при получении SSL-сертификата через PowerShell возникает ошибка проверки отзыва? {#get-ssl-error}

Полный текст ошибки:

```text
curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012)
The revocation function was unable to check revocation for the certificate
```
Это означает, что при подключении к веб-сайту не удалось проверить, есть ли его сертификат в списке отозванных.

Чтобы исправить ошибку:

* убедитесь, что проверку не блокируют настройки корпоративной сети;
* выполните команду с параметром `--ssl-no-revoke`.

    ```powershell
    mkdir -Force $HOME\.yandex; `
    curl.exe https://storage.yandexcloud.kz/cloud-certs/RootCA.pem `
      --ssl-no-revoke `
      --output $HOME\.yandex\RootCA.crt; `
    curl.exe https://storage.yandexcloud.kz/cloud-certs/IntermediateCA.pem `
      --ssl-no-revoke `
      --output $HOME\.yandex\IntermediateCA.crt; `
    Import-Certificate `
      -FilePath $HOME\.yandex\RootCA.crt `
      -CertStoreLocation cert:\CurrentUser\Root; `
    Import-Certificate `
      -FilePath $HOME\.yandex\IntermediateCA.crt `
      -CertStoreLocation cert:\CurrentUser\Root
    ```

## Изменение кластера {#cluster-update}

#### Как добавить хост в кластер? {#add-host}

Чтобы добавить хост, воспользуйтесь [инструкцией](../operations/hosts.md#add-host). Вы также можете добавить новые хосты в кластер при [создании шарда](../operations/shards.md#add-shard).

#### Можно ли выставить параметру join_use_nulls значение 1 через CLI? {#join-use-nulls}

Да, для этого при создании или изменении настроек пользователя передайте нужное значение настройки `join_use_nulls` в параметре `--settings`, например:

```bash
yc managed-clickhouse user update <имя_пользователя> \
  --cluster-name=<имя_кластера> \
  --settings="join_use_nulls=1"
```

Подробнее в [документации](../operations/cluster-users.md#update-settings).

#### Будет ли кластер недоступен во время обновления? {#update-availability}

Если в кластере больше одного хоста, то обновление кластера проходит без простоя, так как хосты обновляются поочередно. На время рестарта будут недоступны только отдельные хосты.

#### Как изменить часовой пояс? {#timezone}

Измените настройку ClickHouse® [timezone](https://clickhouse.com/docs/ru/operations/server-configuration-parameters/settings#server_configuration_parameters-timezone) или [session_timezone](https://clickhouse.com/docs/ru/operations/settings/settings#session_timezone). О том, как это сделать, читайте в [инструкции](../operations/change-server-level-settings.md#yandex-cloud-interfaces).

#### Будет ли кластер недоступен при добавлении реплик? {#add-replica-availability}

Да, будет небольшой простой в работе во время перезагрузки кластера.

#### Как дать пользователю права только на чтение? {#readonly}

Для этого при создании или изменении пользователя через CLI передайте настройку `readonly=1` в параметре `--settings`, например:

```bash
yc managed-clickhouse user update <имя_пользователя> \
  --cluster-name=<имя_кластера> \
  --settings="readonly=1"
```

Подробнее в [документации](../operations/cluster-users.md#update-settings).

#### Как увеличить лимит памяти (memory limit)? {#memory-limit}

[Измените настройки пользователя](../operations/cluster-users.md#update-settings) и задайте нужное значение параметру `Max memory usage`.

#### Можно ли изменить сеть и подсети? {#network}

Нет, сеть и подсети хостов можно выбрать только при создании кластера или [восстановлении кластера](../operations/cluster-backups.md#restore) из резервной копии.

#### Как изменить распределение данных по шардам в кластере? {#resharding}

В существующем кластере невозможно изменить расположение данных в шардах.

## Настройки параметров кластера {#cluster-settings}

#### Как создать пользователя для доступа из DataLens с правами только на чтение? {#datalens-readonly}

Воспользуйтесь [инструкцией](../operations/cluster-users.md#example-create-readonly-user), чтобы создать пользователя с правами только на чтение. Если в настройках кластера [включена опция](../operations/update.md#change-additional-settings) **Доступ из DataLens**, сервис сможет [подключаться](../operations/datalens-connect.md#create-connector) к кластеру с помощью этого пользователя.

#### Как дать пользователю права на создание и удаление таблиц или БД? {#create-delete-role}

[Включите управление пользователями через SQL](../operations/update.md#SQL-management) и выдайте пользователю нужные права с помощью команды `GRANT`.

Подробнее о команде `GRANT` читайте в [документации ClickHouse®](https://clickhouse.com/docs/ru/sql-reference/statements/grant).

#### Как узнать значение настройки internal_replication? {#internal-replication}

Информация о настройке `internal_replication` недоступна ни в интерфейсах Yandex Cloud, ни в системных таблицах ClickHouse®. Значение настройки по умолчанию — `true`.

#### Как повысить максимальный объем оперативной памяти для выполнения запроса? {#max-memory-usage}

Если для выполнения запроса не хватает объема оперативной памяти пользователя, возникает ошибка:

```text
DB::Exception: Memory limit (total) exceeded:
would use 14.10 GiB (attempt to allocate chunk of 4219924 bytes), maximum: 14.10 GiB.
(MEMORY_LIMIT_EXCEEDED), Stack trace (when copying this message, always include the lines below)
```

Для [увеличения](../operations/cluster-users.md#update-settings) максимального объема оперативной памяти используйте параметр [Max memory usage](../concepts/settings-list.md#setting-max-memory-usage).

Если в кластере включено [управление пользователями через SQL](../concepts/user-access-rights.md#sql-user-management), параметр `Max memory usage` можно задать:

* Для сессии текущего пользователя с помощью запроса:

    ```sql
    SET max_memory_usage = <значение_в_байтах>;
    ```

* Для всех пользователей по умолчанию с помощью создания [профиля настроек](https://clickhouse.com/docs/ru/operations/access-rights#settings-profiles-management).

#### Почему в высокодоступном кластере Managed Service for ClickHouse® должно быть три или пять хостов ZooKeeper? {#zookeeper-hosts-number}

ZooKeeper использует алгоритм консенсуса: сервис продолжает функционировать, пока большинство хостов ZooKeeper находятся в рабочем состоянии.

Например, если кластер имеет два хоста ZooKeeper, то при отключении одного из них оставшийся хост не составляет большинство, поэтому сервис становится недоступным. Таким образом, кластер с двумя хостами ZooKeeper не является [высокодоступным](../concepts/high-availability.md).

Кластер с тремя хостами ZooKeeper является высокодоступным. При обслуживании или выходе из строя одного из них кластер сохраняет работоспособность. Таким образом, три — минимальное рекомендуемое число хостов ZooKeeper в кластере Managed Service for ClickHouse®.

Кластер с четырьмя хостами ZooKeeper не имеет преимуществ перед кластером с тремя хостами: он также способен функционировать при отключении только одного хоста. При отключении двух хостов консенсус не соблюдается и сервис становится недоступным.

Кластер с пятью хостами ZooKeeper уже способен выдерживать отключение двух хостов, так как три из пяти хостов составляют большинство. Поэтому обслуживать такой кластер удобнее, чем кластер с тремя хостами. Даже если один из пяти хостов [находится на обслуживании](../concepts/maintenance.md) или перезапускается, кластер остается высокодоступным, т. е. выдерживает отключение еще одного хоста.

Добавление в кластер более пяти хостов ZooKeeper не поддерживается.

Таким образом, в кластере Managed Service for ClickHouse® рекомендуется создавать три или пять хостов ZooKeeper.

## Перемещение и восстановление кластера {#cluster-backups}

#### Как проводится резервное копирование для БД ClickHouse®? {#backup-overview}

Резервные копии создаются каждые 24 часа и хранятся 7 дней после создания. Восстановить данные можно только на момент создания копии.

#### Включено ли резервное копирование хостов БД по умолчанию? {#default-backup}

Да, по умолчанию резервное копирование включено. Для ClickHouse® полное резервное копирование выполняется один раз в сутки с возможностью восстановления до любой сохраненной резервной копии.

#### Когда выполняется резервное копирование? Доступен ли кластер БД во время резервного копирования? {#backup-window}

При [создании](../operations/cluster-create.md) или [изменении](../operations/update.md#change-additional-settings) кластера можно задать промежуток времени, в течение которого начинается резервное копирование. По умолчанию — `22:00 - 23:00` UTC (Coordinated Universal Time).

Во время окна резервного копирования кластеры остаются полностью доступными.

#### Сколько резервных копий хранится в Managed Service for ClickHouse®? Как долго? {#how-many-backups}

Размер и количество резервных копий не ограничены. Резервные копии, созданные автоматически, хранятся 7 дней, а созданные вручную — бессрочно.

#### Можно ли удалить резервную копию? {#delete-backup}

Да, если она была создана вручную. Чтобы удалить резервную копию, [следуйте инструкции](../operations/cluster-backups.md#delete-backup).

#### Я могу изменить срок хранения автоматических резервных копий? {#backup-retain-days}

При [создании](../operations/cluster-create.md) или [изменении](../operations/update.md#change-additional-settings) кластера можно задать срок хранения автоматических резервных копий.

#### Что входит в ежедневные резервные копии? {#daily-backups}

В резервной копии хранятся данные только для движков семейства `MergeTree`. Для остальных движков хранятся только схемы таблиц. Подробнее в разделе [Резервные копии](../concepts/backup.md).

#### Почему кластер долго восстанавливается из резервной копии? {#long-restore}

Примерная средняя скорость восстановления кластера из резервной копии — 100 Мб/сек. Время восстановления может заметно варьироваться в зависимости от класса хостов и характера данных в БД.

#### Как перенести существующий кластер ClickHouse® в Yandex Cloud? {#migration}

Воспользуйтесь сервисом [Yandex Data Transfer](../../data-transfer/quickstart.md).

#### Можно ли восстановить шард из резервной копии в шард существующего кластера? {#shard-to-shard}

Нет, такой возможности нет.

Но вы можете [восстановить шард](../operations/cluster-backups.md#restore) из резервной копии в новый кластер ClickHouse®, а затем перенести данные из этого кластера в существующий кластер с помощью следующих средств:

* [Сервис Data Transfer](../tutorials/ch-to-mch-migration.md). Он позволяет перенести в кластер Managed Service for ClickHouse® базу данных или отдельные таблицы.
* [Встроенная функция ClickHouse® `remote`](../tutorials/data-migration.md#transfer-remote). С ее помощью можно перенести в кластер Managed Service for ClickHouse® отдельные таблицы.
* [Команды ClickHouse® `BACKUP` и `RESTORE`](../tutorials/data-migration.md#backup-objstorage). С их помощью можно сохранить резервную копию базы данных или отдельной таблицы в бакет [Yandex Object Storage](../../storage/index.md), а затем восстановить данные из бакета в кластер Managed Service for ClickHouse®.

## Мониторинг и логи {#monitoring}

#### За какими метриками и процессами можно следить с помощью мониторинга? {#monitoring-metrics}

Для всех типов СУБД можно отслеживать:

- загрузку процессора, памяти, сети, дисков в абсолютных величинах;
- загрузку памяти, сети, дисков в процентах от установленных лимитов для класса хостов соответствующего кластера;
- объем данных кластера БД и остаток свободного места в хранилище данных.

Для всех хостов БД можно отслеживать метрики, специфические для типа соответствующей СУБД. Например для PostgreSQL можно отслеживать:
- среднее время выполнения запроса;
- количество запросов в секунду;
- количество ошибок в журналах и т. д.

Мониторинг можно осуществлять с минимальной гранулярностью в 5 секунд.

#### Как тарифицируется хранение логов? {#logging-pricing}

Логи любого уровня пишутся на системный раздел диска, под который отведено 20 ГБ, поэтому не тарифицируются отдельно. Объем создаваемых логов влияет только на частоту их ротации.

#### Как долго хранятся логи? {#log-keeping}

Логи кластера хранятся 45 дней.

#### Как следить за свободным объемом хранилища на хостах ZooKeeper? {#zookeeper-storage}

Воспользуйтесь инструкцией в разделе [Мониторинг состояния кластера и хостов](../operations/monitoring.md), чтобы отслеживать состояние хостов или настроить алерты.

#### Как отслеживать объем, занимаемый данными в гибридном хранилище? {#hybrid}

Воспользуйтесь метрикой `ch_s3_disk_parts_size` в сервисе Yandex Monitoring. Она показывает, какой объем занимают куски таблиц [MergeTree](https://clickhouse.com/docs/ru/engines/table-engines/mergetree-family/mergetree) в сервисе Object Storage. Метрика доступна только для кластеров Managed Service for ClickHouse® с настроенным [гибридным хранилищем](../concepts/storage.md#hybrid-storage-features). Подробнее о том, как выполнить запрос с метрикой, в [руководстве](../tutorials/hybrid-storage.md#metrics).

#### Как настроить алерт, который срабатывает при заполнении определенного процента дискового пространства? {#disk-space-percentage}

[Создайте алерт](../operations/monitoring.md#monitoring-integration) с метрикой `disk.used_bytes` в сервисе Yandex Monitoring. Метрика показывает размер использованного дискового пространства в кластере Managed Service for ClickHouse®.

Для `disk.used_bytes` используются пороги для оповещения. Их рекомендуемые значения:

* `Alarm` — 95% дискового пространства.
* `Warning` — 80% дискового пространства.

Значения порогов задаются только в байтах. Например, рекомендуемые значения для диска размером в 100 ГБ:

* `Alarm` — `102005473280` байт (95%).
* `Warning` — `85899345920` байт (80%).

_ClickHouse® является зарегистрированным товарным знаком [ClickHouse, Inc](https://clickhouse.com)._