Управление базами данных в Managed Service for ClickHouse®
Managed Service for ClickHouse® позволяет управлять базами данных кластера двумя способами:
- С помощью стандартных интерфейсов Yandex Cloud (CLI, API, консоль управления). Способ подходит, если вы хотите создавать и удалять базы данных кластера, используя возможности сервиса Yandex Managed Service for ClickHouse®.
- С помощью SQL-запросов к кластеру. Способ подходит, если вы хотите использовать уже существующее у вас решение для создания и управления базами данных или если вам требуется поддержка MySQL® баз данных в Managed Service for ClickHouse®.
Управление базами данных через SQL
Чтобы включить управление, выберите опции Управление пользователями через SQL и Управление базами данных через SQL при создании или изменении настроек кластера.
В кластере с включенным управлением базами данных через SQL:
- Управление базами данных и пользователями через стандартные интерфейсы Yandex Cloud (CLI, API, консоль управления) недоступно.
- Невозможно включить управление пользователями и базами данных с помощью стандартных интерфейсов Yandex Cloud.
- Существующие пользователи, настройки пользователей и базы данных, созданные с помощью стандартных интерфейсов Yandex Cloud, будут сохранены.
- Управление осуществляется с помощью учетной записи
admin
. Пароль для нее задается при выборе опций Управление пользователями через SQL и Управление базами данных через SQL.
Получить список баз данных в кластере
- В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера, затем выберите вкладку Базы данных.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список баз данных в кластере, выполните команду:
yc managed-clickhouse database list \
--cluster-name=<имя_кластера>
Имя кластера можно запросить со списком кластеров в каталоге.
Чтобы получить список баз данных кластера, воспользуйтесь методом REST API list для ресурса Database или вызовом gRPC API DatabaseService/List.
-
Подключитесь к кластеру, используя учетную запись
admin
. -
Получите список баз данных:
SHOW DATABASES;
Создать базу данных
Примечание
В каждом кластере вы можете создать не более 1000 баз данных.
-
В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. -
Нажмите на имя нужного кластера.
-
Выберите вкладку Базы данных.
-
Нажмите кнопку Создать базу данных.
-
Введите имя для базы данных и нажмите кнопку Создать.
Примечание
Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем
default
.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Выполните команду создания БД, задав имя новой базы:
yc managed-clickhouse database create <имя_БД> \
--cluster-name=<имя_кластера>
Примечание
Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем default
.
Имя кластера можно запросить со списком кластеров в каталоге.
Managed Service for ClickHouse® запустит операцию создания базы данных.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Добавьте к описанию кластера Managed Service for ClickHouse® блок описания базы данных
database
:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... database { name = "<имя_БД>" } }
Примечание
Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем
default
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы создать новую базу данных в кластере, воспользуйтесь методом REST API create для ресурса Database или вызовом gRPC API DatabaseService/Create.
-
Подключитесь к кластеру, используя учетную запись
admin
. -
Создайте базу данных:
CREATE DATABASE <имя_БД>;
Примечание
Имя базы может содержать латинские буквы, цифры и подчеркивание. Максимальная длина имени 63 символа. Запрещено создание базы данных с именем
default
.
Подробнее о создании баз данных см. в документации ClickHouse®
Удалить базу данных
- В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Базы данных.
- Нажмите на значок
в строке нужной БД и выберите пункт Удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы удалить базу данных, выполните команду:
yc managed-clickhouse database delete <имя_БД> \
--cluster-name=<имя_кластера>
Имя кластера можно запросить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Удалите из описания кластера Managed Service for ClickHouse® блок
database
с описанием базы данных. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы удалить базу данных, воспользуйтесь методом REST API delete для ресурса Database или вызовом gRPC API DatabaseService/Delete.
-
Подключитесь к кластеру, используя учетную запись
admin
. -
Удалите базу данных:
DROP DATABASE <имя_БД>;
Подробнее об удалении объектов см. в документации ClickHouse®
Важно
Прежде чем создать новую базу с тем же именем, дождитесь завершения операции удаления, иначе будет восстановлена удаляемая база. Статус операции можно получить вместе со списком операций в кластере.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc