Вопросы и ответы про Managed Service for ClickHouse®
Общие вопросы
-
Какую версию ClickHouse® использует Managed Service for ClickHouse®?
-
Что происходит, когда версия СУБД становится неподдерживаемой (deprecated)?
-
Как рассчитывается стоимость потребления для хоста базы данных?
-
Как изменить вычислительные ресурсы и объем хранилища для кластера БД?
-
Как исправить ошибку отсутствия прав при подключении сервисного аккаунта к кластеру?
Вопросы о ClickHouse®
-
Как загрузить в ClickHouse® очень большое количество данных?
-
Можно ли развернуть кластер БД ClickHouse® в нескольких зонах доступности?
-
Почему кластер ClickHouse® занимает на 3 хоста больше, чем должен?
-
Могу ли я использовать тип данных JSON для таблиц в ClickHouse®?
-
Почему кластер работает медленно, хотя вычислительные ресурсы использованы не до предела?
Подключение
Изменение кластера
Настройки параметров кластера
-
Как создать пользователя для доступа из DataLens с правами только на чтение?
-
Как дать пользователю права на создание и удаление таблиц или БД?
-
Как повысить максимальный объем оперативной памяти для выполнения запроса?
Перемещение и восстановление кластера
-
Когда выполняется резервное копирование? Доступен ли кластер БД во время резервного копирования?
-
Сколько резервных копий хранится в Managed Service for ClickHouse®? Как долго?
-
Как перенести существующий кластер ClickHouse® в Yandex Cloud?
Мониторинг и логи
-
За какими метриками и процессами можно следить с помощью мониторинга?
-
Как следить за свободным объемом хранилища на хостах ZooKeeper?
-
Как отслеживать объем, занимаемый данными в гибридном хранилище?
Общие вопросы
Что такое Managed Service for ClickHouse®?
Managed Service for ClickHouse® — это сервис, который помогает вам создавать, эксплуатировать и масштабировать базы данных ClickHouse® в облачной инфраструктуре.
С Managed Service for ClickHouse® вы можете:
- создавать базы данных с необходимыми параметрами производительности;
- масштабировать вычислительные мощности и выделенный объем хранилища для баз данных по мере необходимости;
- получать журналы работы баз данных.
Managed Service for ClickHouse® берет на себя трудоемкие задачи администрирования инфраструктуры ClickHouse®:
- предоставляет мониторинг потребляемых ресурсов;
- автоматически создает резервные копии баз данных;
- обеспечивает отказоустойчивость за счет автоматического переключения на резервные реплики;
- своевременно обновляет программное обеспечение СУБД.
Вы взаимодействуете с кластером БД в Managed Service for ClickHouse® как с обычной базой данных в вашей локальной инфраструктуре. Благодаря этому вы можете управлять внутренними настройками БД в соответствии с требованиями вашего приложения.
Для чего используется ClickHouse®? Какую СУБД мне выбрать?
ClickHouse® предназначен прежде всего для аналитики (OLAP) и поддерживает только добавление и чтение данных. Обновление данных возможно, но с рядом оговорок
Какую часть работы по управлению и сопровождению баз данных берет на себя Managed Service for ClickHouse®?
При создании кластеров Managed Service for ClickHouse® выделяет ресурсы, устанавливает СУБД и создает базы данных.
Для созданных и запущенных баз данных Managed Service for ClickHouse® автоматически создает резервные копии, а также устанавливает исправления и обновления СУБД.
Также Managed Service for ClickHouse® обеспечивает репликацию данных между хостами БД (как внутри, так и между зонами доступности) и автоматически переключает нагрузку на резервную реплику в случае аварии.
Для каких задач стоит использовать Managed Service for ClickHouse®, а для каких — виртуальные машины с базами данных?
Yandex Cloud предлагает два варианта работы с базами данных:
- Managed Service for ClickHouse® позволяет вам эксплуатировать шаблонные базы данных, не заботясь об администрировании.
- Виртуальные машины Yandex Compute Cloud позволяют вам создавать и настраивать собственные базы данных. Такой подход позволяет использовать любые СУБД, подключаться к базам данных по SSH и так далее.
Что такое хост базы данных и кластер базы данных?
Хост БД — это изолированная среда базы данных в облачной инфраструктуре с выделенными вычислительными ресурсами и зарезервированным объемом хранилища данных.
Кластер БД — это один или более хостов БД, между которыми можно настроить репликацию.
Как начать работу с Managed Service for ClickHouse®?
Managed Service for ClickHouse® доступен всем зарегистрированным пользователям Yandex Cloud.
Чтобы создать кластер базы данных в Managed Service for ClickHouse®, необходимо определиться с его характеристиками:
- Класс хостов (характеристики производительности — процессоры, память и т. п.).
- Объем хранилища (резервируется в полном объеме при создании кластера).
- Сеть, к которой будет подключен ваш кластер.
- Количество хостов для кластера и зона доступности для каждого хоста вы можете выбрать зону доступности.
Подробные инструкции см. в разделе Начало работы.
Сколько хостов БД может содержать кластер?
Минимальное количество хостов зависит от типа используемого хранилища:
- при использовании хранилища на нереплицируемых SSD-дисках — не менее 3;
- при использовании хранилища на локальных SSD-дисках — не менее 2;
- при использовании хранилища на сетевых HDD-дисках или на сетевых SSD-дисках допускается создание кластера из одного хоста.
Максимальное количество хостов в кластере ограничено только запрошенными вычислительными ресурсами и объемом хранилища для кластера.
Подробнее см. в разделе Квоты и лимиты.
Как получить доступ к запущенному хосту базы данных?
Вы можете подключаться к базам данных Managed Service for ClickHouse® способами, стандартными для СУБД.
Подробнее о подключении к кластерам.
Сколько кластеров можно создать в рамках одного облака?
Технические и организационные ограничения MDB приведены в разделе Квоты и лимиты.
Как происходит обслуживание кластеров БД?
Под обслуживанием в Managed Service for ClickHouse® понимается:
- автоматическая установка обновлений и исправлений СУБД для хостов БД (в т. ч. для выключенных кластеров);
- изменение класса хостов и объема хранилища;
- другие сервисные работы Managed Service for ClickHouse®.
Подробнее см. в разделе Техническое обслуживание.
Как редактировать внешние словари?
Чтобы переименовать словарь, выполните запрос:
RENAME DICTIONARY <имя_словаря> TO <новое_имя>
Для прочих изменений воспользуйтесь методом API update.
Какую версию ClickHouse® использует Managed Service for ClickHouse®?
Managed Service for ClickHouse® использует несколько последних стабильных версий ClickHouse®. Подробнее см. в разделе Политика работы с версиями ClickHouse®.
Какую версию ClickHouse® выбрать?
Рекомендуется выбирать последнюю доступную LTS-версию ClickHouse®. Подробнее см. в разделе Политика работы с версиями ClickHouse®.
Что происходит, когда выпускается новая версия СУБД?
При выходе новых минорных версий программное обеспечение кластеров автоматически обновляется после короткого периода тестирования.
Владельцы затронутых кластеров БД получают предварительное оповещение о сроках проведения работ и доступности баз данных.
Что происходит, когда версия СУБД становится неподдерживаемой (deprecated)?
Когда версия СУБД становится неподдерживаемой, Managed Service for ClickHouse® автоматически оповещает владельцев кластеров БД, созданных с этой версией, по электронной почте.
Создание новых хостов с СУБД неподдерживаемых версий становится невозможным. Кластеры с неподдерживаемой версией ClickHouse® обновляются в соответствии с политикой работы с версиями.
Владельцы затронутых кластеров БД получают предварительное оповещение о сроках проведения работ и доступности баз данных.
Как рассчитывается стоимость потребления для хоста базы данных?
В Managed Service for ClickHouse® стоимость потребления рассчитывается исходя из следующих параметров:
- Выбранный класс хостов.
- Объем хранилища, зарезервированного для хоста БД.
- Объем резервных копий кластера БД. Объем резервных копий, равный объему хранилища, не тарифицируется. Хранение резервных копий сверх этого объема оплачивается по тарифам.
- Количество часов работы хоста БД. Неполные часы округляются до целого значения. Стоимость часа работы для каждого класса хостов приведена в разделе Правила тарификации.
Сколько стоит использование моего кластера?
В консоли управления
Как изменить вычислительные ресурсы и объем хранилища для кластера БД?
Вы можете изменять вычислительные ресурсы и объем хранилища в консоли управления — просто выберите другой класс хостов для нужного кластера.
Характеристики кластера изменяются в течение 30 минут. В этот период также могут быть включены другие сервисные работы по кластеру, например, установка обновлений.
Как исправить ошибку отсутствия прав при подключении сервисного аккаунта к кластеру?
Текст ошибки:
ERROR: rpc error: code = PermissionDenied desc = you do not have permission to access the requested service account or service account does not exist
Ошибка возникает в следующих случаях:
- вы создаете или изменяете кластер и привязываете к нему сервисный аккаунт;
- вы восстанавливаете из резервной копии кластер с привязкой к сервисному аккаунту.
Чтобы исправить ошибку, назначьте вашему аккаунту в Yandex Cloud роль iam.serviceAccounts.user или выше.
О персональных данных
?
Соответствует ли сервис требованиям Федерального закона Российской Федерации № 152-ФЗ Да, вы можете ознакомиться с полным заключением
Я могу получить логи моей работы в сервисах?
Да, вы можете запросить записи о том, что происходило с вашими ресурсами, из логов сервисов Yandex Cloud. Подробнее читайте в разделе Запросы данных.
Вопросы о ClickHouse®
Почему стоит использовать ClickHouse® в Managed Service for ClickHouse®, а не собственную установку на виртуальной машине?
Managed Service for ClickHouse® автоматизирует рутинное обслуживание БД:
-
быстрое развертывание БД с необходимыми доступными ресурсами;
-
резервное копирование данных;
-
регулярное обновление ПО;
-
обеспечение отказоустойчивости кластеров БД;
-
мониторинг и статистика использования БД.
Когда стоит использовать ClickHouse® вместо PostgreSQL?
ClickHouse® поддерживает только добавление и чтение данных, так как предназначен прежде всего для аналитики (OLAP). В остальных случаях, скорее всего, удобнее использовать PostgreSQL.
Как загружать данные в ClickHouse®?
Используйте запрос INSERT
, описанный в документации ClickHouse®
Как загрузить в ClickHouse® очень большое количество данных?
Используйте CLIINSERT
в секунду).
Перенос данных с физических носителей пока не поддерживается.
Что случится с кластером, если выйдет из строя одна из нод?
Кластеры БД состоят минимум из 2 реплик, поэтому при потере одной ноды кластер продолжит работу.
Данные могут потеряться только если вышла из строя нода с нереплицируемой таблицей
Можно ли развернуть кластер БД ClickHouse® в нескольких зонах доступности?
Да. Кластер БД может состоять из хостов, расположенных как в разных зонах, так и в разных регионах доступности.
Как устроена репликация для ClickHouse®?
Кластеры Managed Service for ClickHouse® используют репликацию с помощью ClickHouse® Keeper или ZooKeeper. В первом случае никаких дополнительных настроек не требуется — репликация и отказоустойчивость включены по умолчанию. Во втором для каждого кластера ClickHouse® создается кластер ZooKeeper минимум из трех хостов.
Для пользователей Yandex Cloud доступ к ZooKeeper и его настройка недоступны.
Почему кластер ClickHouse® занимает на 3 хоста больше, чем должен?
При создании кластера ClickHouse® из 2 и более хостов Managed Service for ClickHouse® автоматически создает кластер из 3 хостов ZooKeeper для управления репликацией и отказоустойчивостью, если не включена поддержка ClickHouse® Keeper. Эти хосты учитываются в расчете использованной квоты ресурсов
Подробнее об использовании ZooKeeper см. документацию ClickHouse®
Как происходит удаление данных по TTL в ClickHouse®?
Удаление данных по TTL
Удаление целыми кусками работает эффективней и потребляет меньше ресурсов сервера, но для этого значение выражения TTL и ключ партиционирования
Удаление при операциях слияния потребляет больше ресурсов и выполняется либо вместе с обычными фоновыми операциями слияния, либо во время внеплановых слияний. Периодичность операций слияния определяется значением параметра merge_with_ttl_timeout
. Этот параметр задается при создании
Рекомендуется организовывать обработку данных по TTL так, чтобы старые данные всегда удалялись целыми кусками. Для этого при создании таблиц установите для настройки ttl_only_drop_partstrue
.
Могу ли я использовать тип данных JSON для таблиц в ClickHouse®?
Да, но на данный момент JSON является экспериментальным типом данных в ClickHouse®. Чтобы разрешить создание таблиц такого типа, выполните запрос:
SET allow_experimental_object_type=1;
Примечание
Запросы SET
не поддерживаются при подключении к кластеру через консоль управления. Для выполнения этого запроса используйте другой способ подключения к кластеру, например, через clickhouse-client.
Убедитесь, что у вас установлена актуальная версия клиента.
Подробную информацию см. в документации ClickHouse®
Почему кластер работает медленно, хотя вычислительные ресурсы использованы не до предела?
Вероятно, максимальные значения IOPS и пропускной способности (bandwidth) хранилища недостаточны для обработки текущего количества запросов. В этом случае срабатывает троттлинг и быстродействие всего кластера падает.
Максимальные IOPS и bandwidth прирастают на фиксированную величину при увеличении размера хранилища на определенный шаг. Шаг и прирост зависят от типа дисков:
Тип дисков | Шаг, ГБ | Прирост макс. IOPS (чтение/запись) | Прирост макс. bandwidth (чтение/запись), МБ/с |
---|---|---|---|
network-hdd |
256 | 300/300 | 30/30 |
network-ssd |
32 | 1000/1000 | 15/15 |
network-ssd-nonreplicated |
93 | 28000/5600 | 110/82 |
Чтобы увеличить максимальные значения IOPS и bandwidth и снизить вероятность троттлинга, расширьте размер хранилища при изменении кластера.
Если вы используете хранилище с типом диска network-hdd
, рассмотрите возможность перехода на network-ssd
или network-ssd-nonreplicated
путем восстановления кластера из резервной копии.
Подключение
Можно ли подключаться к отдельным хостам ClickHouse®?
Да. Подключиться к хостам кластера ClickHouse® можно:
-
через HTTPS-интерфейс
:- по шифрованному соединению с использованием SSL — порт 8443;
- без шифрования — порт 8123;
-
через клиент командной строки
:- по шифрованному соединению с использованием SSL — порт 9440;
- без шифрования — порт 9000.
Подключение по SSH не поддерживается.
Почему я не могу подключиться к хосту из интернета?
Скорее всего в кластере не включен публичный доступ, поэтому к нему можно подключаться только с ВМ в Yandex Cloud. Запросить публичный доступ можно только при создании нового хоста в кластере.
Как подключиться к непубличному хосту в Yandex Cloud?
Подключитесь к хосту с виртуальной машины Yandex Cloud, расположенной в той же облачной сети, или добавьте в кластер еще один хост с публичным доступом и подключайтесь к непубличному хосту через него.
Можно ли подключиться к публичному кластеру без SSL?
Нет, к публичным хостам подключиться можно только используя SSL-соединение. Подробнее см. в документации.
Можно ли подключиться к хостам кластера по SSH или получить на хостах права суперпользователя?
Подключиться к хостам через SSH не получится, как и получить права суперпользователя. Это сделано в целях безопасности и отказоустойчивости пользовательских кластеров, так как прямые изменения внутри хоста могут привести к его полной неработоспособности.
Изменение кластера
Как добавить хост в кластер?
Чтобы добавить хост, воспользуйтесь инструкцией. Вы также можете добавить новые хосты в кластер при создании шарда.
Можно ли выставить параметру join_use_nulls значение 1 через CLI?
Да, для этого при создании или изменении настроек пользователя передайте нужное значение настройки join_use_nulls
в параметре --settings
, например:
yc managed-clickhouse user update <имя_пользователя> \
--cluster-name=<имя_кластера> \
--settings="join_use_nulls=1"
Подробнее см. в документации.
Будет ли кластер недоступен во время обновления?
Если в кластере больше одного хоста, то обновление кластера проходит без простоя, так как хосты обновляются поочередно. На время рестарта будут недоступны только отдельные хосты.
Как изменить часовой пояс?
Измените настройку ClickHouse® timezone
Будет ли кластер недоступен при добавлении реплик?
Да, будет небольшой простой в работе во время перезагрузки кластера.
Как дать пользователю права только на чтение?
Для этого при создании или изменении пользователя через CLI передайте настройку readonly=1
в параметре --settings
, например:
yc managed-clickhouse user update <имя_пользователя> \
--cluster-name=<имя_кластера> \
--settings="readonly=1"
Подробнее см. в документации.
Как увеличить лимит памяти (memory limit)?
Измените настройки пользователя и задайте нужное значение параметру Max memory usage
.
Можно ли изменить тип диска?
Нет, тип диска можно выбрать только при создании кластера или восстановлении кластера из резервной копии.
Можно ли изменить сеть и подсети?
Нет, сеть и подсети хостов можно выбрать только при создании кластера или восстановлении кластера из резервной копии.
Как изменить распределение данных по шардам в кластере?
В существующем кластере невозможно изменить расположение данных в шардах. Для изменения выполните перенос данных в новый кластер с перераспределением по шардам с помощью Yandex Data Transfer.
Настройки параметров кластера
Как создать пользователя для доступа из DataLens с правами только на чтение?
Воспользуйтесь инструкцией, чтобы создать пользователя с правами только на чтение. Если в настройках кластера включена опция Доступ из DataLens, сервис сможет подключаться к кластеру с помощью этого пользователя.
Как дать пользователю права на создание и удаление таблиц или БД?
Включите в настройках кластера опцию Управление пользователями через SQL и выдайте пользователю нужные права с помощью выраженияGRANT
.
Как узнать значение настройки internal_replication?
Информация о настройке internal_replication
недоступна ни в интерфейсах Yandex Cloud, ни в системных таблицах ClickHouse®. Значение настройки по умолчанию — true
.
Как повысить максимальный объем оперативной памяти для выполнения запроса?
Если для выполнения запроса не хватает объема оперативной памяти пользователя, возникает ошибка:
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)
Для увеличения максимального объема оперативной памяти используйте параметр Max memory usage.
Если в кластере включена опция Управление пользователями через SQL, параметр Max memory usage
можно задать:
-
Для сессии текущего пользователя с помощью запроса:
SET max_memory_usage = <значение_в_байтах>;
-
Для всех пользователей по умолчанию с помощью создания профиля настроек
.
Перемещение и восстановление кластера
Как проводится резервное копирование для БД ClickHouse®?
Резервные копии создаются каждые 24 часа и хранятся 7 дней после создания. Восстановить данные можно только на момент создания копии.
Включено ли резервное копирование хостов БД по умолчанию?
Да, по умолчанию резервное копирование включено. Для ClickHouse® полное резервное копирование выполняется один раз в сутки с возможностью восстановления до любой сохраненной резервной копии.
Когда выполняется резервное копирование? Доступен ли кластер БД во время резервного копирования?
При создании или изменении кластера можно задать промежуток времени, в течение которого начинается резервное копирование. По умолчанию — 22:00 - 23:00
UTC (Coordinated Universal Time).
Во время окна резервного копирования кластеры остаются полностью доступными.
Сколько резервных копий хранится в Managed Service for ClickHouse®? Как долго?
Размер и количество резервных копий не ограничены. Резервные копии, созданные автоматически, хранятся 7 дней, а созданные вручную — бессрочно.
Что входит в ежедневные резервные копии?
В резервной копии хранятся данные только для движков семейства MergeTree
. Для остальных движков хранятся только схемы таблиц. Подробнее см. в разделе Резервные копии.
Почему кластер долго восстанавливается из резервной копии?
Примерная средняя скорость восстановления кластера из резервной копии — 100 Мб/сек. Время восстановления может заметно варьироваться в зависимости от класса хостов и характера данных в БД.
Как перенести существующий кластер ClickHouse® в Yandex Cloud?
Воспользуйтесь сервисом Yandex Data Transfer.
Мониторинг и логи
За какими метриками и процессами можно следить с помощью мониторинга?
Для всех типов СУБД можно отслеживать:
- загрузку процессора, памяти, сети, дисков в абсолютных величинах;
- загрузку памяти, сети, дисков в процентах от установленных лимитов для класса хостов соответствующего кластера;
- объем данных кластера БД и остаток свободного места в хранилище данных.
Для всех хостов БД можно отслеживать метрики, специфические для типа соответствующей СУБД. Например для PostgreSQL можно отслеживать:
- среднее время выполнения запроса;
- количество запросов в секунду;
- количество ошибок в журналах и т. д.
Мониторинг можно осуществлять с минимальной гранулярностью в 5 секунд.
Как тарифицируется хранение логов?
Логи любого уровня пишутся на системный раздел диска, под который отведено 20 ГБ, поэтому не тарифицируются отдельно. Объем создаваемых логов влияет только на частоту их ротации.
Как долго хранятся логи?
Логи кластера хранятся 30 дней.
Как следить за свободным объемом хранилища на хостах ZooKeeper?
Воспользуйтесь инструкцией в разделе Мониторинг состояния кластера и хостов, чтобы отслеживать состояние хостов или настроить алерты.
Как отслеживать объем, занимаемый данными в гибридном хранилище?
Воспользуйтесь метрикой ch_s3_disk_parts_size
в сервисе Yandex Monitoring. Она показывает, какой объем занимают куски таблиц MergeTree
Как настроить алерт, который срабатывает при заполнении определенного процента дискового пространства?
Создайте алерт с метрикой 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