# Resource nubes_clickhouse
Service ID: `120`
Service Name: ClickHouse
[Overview](clickhouse.md) | [Parameters](clickhouse_params.md) | [Operations](clickhouse_ops.md)
## Operations
| Operation | Kind | Action | Subresource | ID | Params | Description |
|---|---|---|---|---|---|---|
| `create` | `instance` | `create` | `` | `181` | resourceRealm, s3Uid, resourceInstances, resourceInstancesShards, resourceCPU, resourceMemory, appVersion, resourceDisk, needExternalAddressMaster, ipSpaceNameMaster, needCreateKeeper, resourceCPUKeeper, resourceMemoryKeeper, resourceInstancesKeeper, ext_BACKUP_SCHEDULE, ext_BACKUP_NUM_TO_RETAIN | Операция создания кластера ClickHouse
Для подключения к кластеру также необходимо создать базу данных через операцию `create_database` и создание пользователя через операцию `create_user` |
| `create_database` | `subresource` | `create` | `database` | `186` | databaseName | База данных создаётся на всех репликах кластера ClickHouse |
| `create_user` | `subresource` | `create` | `user` | `185` | username, databaseName, accessHosts | |
| `delete` | `instance` | `delete` | `` | `184` | | Удаление возможно только после остановки сервиса через операцию `suspend`
После выполнения операции необходимо выждать определенное кол-во времени |
| `delete_database` | `subresource` | `delete` | `database` | `188` | databaseName | Необратимое действие!!!
Трижды подумай, заблокируй телефон тимлида и не выполняй это действие |
| `delete_user` | `subresource` | `delete` | `user` | `187` | username | |
| `modify` | `instance` | `modify` | `` | `189` | resourceInstances, resourceInstancesShards, resourceCPU, resourceMemory, appVersion, resourceDisk, needExternalAddressMaster, ipSpaceNameMaster, needCreateKeeper, resourceCPUKeeper, resourceMemoryKeeper, resourceInstancesKeeper, ext_BACKUP_SCHEDULE, ext_BACKUP_NUM_TO_RETAIN | |
| `resume` | `instance` | `resume` | `` | `183` | | |
| `suspend` | `instance` | `suspend` | `` | `182` | | Операция приводит к удалению всех подов
Persistent Volume остаются нетронутыми |
### Operation: create
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 572 | resourceRealm | string | ДА | Выбрать платформу из списка **Если список не отображается** обратитесь к сервис менеджеру с вопросом предоставления ресурсной платформы | func=getAvailableResourceRealms | |
| 573 | s3Uid | uuid | ДА | **Если список не отображается** перейдите в раздел `S3 Object Storage` операция `create` | ref_svc_id=12 | |
| 574 | resourceInstances | integer | ДА | 1 | **Для синхронизации данных между репликами** необходимо включить `Создать ClickHouse-Keeper` | minvalue=1; maxvalue=7 |
| 575 | resourceInstancesShards | integer | ДА | 1 | **Шард** - это часть данных, разделенная на разные узлы (серверы) для горизонтального масштабирования и обработки больших объемов информации. **Реплика** - это точная копия данных внутри одного шарда | minvalue=1; maxvalue=7 |
| 576 | resourceCPU | integer | ДА | 1000 | Указывается в Milicores `1000` Mili == `1` Ядро | minvalue=1000; maxvalue=8000 |
| 577 | resourceMemory | integer | ДА | 1536 | Указывается в Megabytes | minvalue=1536; maxvalue=8192 |
| 578 | appVersion | string | ДА | 25.10 | Версия `clickhouse-server` | value_list=25.10 |
| 579 | resourceDisk | integer | ДА | 10 | Указывается в Gigabytes | minvalue=1; maxvalue=999 |
| 580 | needExternalAddressMaster | boolean | ДА | false | Для выделения IP также необходимо указать имя Ip-space. Его можно получить из свойств ресурсной платформы | value_list=false, true |
| 581 | ipSpaceNameMaster | string | НЕТ | Имя ipSpace для публикации внешнего адреса Не может быть пустым, если включен `Выделение белого ip для master ноды` | ||
| 582 | needCreateKeeper | boolean | ДА | true | Аналог `Zookeeper`, представленный от ClickHouse | value_list=false, true |
| 583 | resourceCPUKeeper | integer | ДА | 50 | Указывается в Milicores `1000` Mili == `1` Ядро | minvalue=50; maxvalue=8000 |
| 584 | resourceMemoryKeeper | integer | ДА | 152 | Указывается в Megabytes | minvalue=152; maxvalue=8192 |
| 585 | resourceInstancesKeeper | integer | ДА | 1 | Для **теста** - 1 нода. Для **продуктива** - 3 ноды | minvalue=1; maxvalue=3; value_list=1, 3 |
| 586 | ext_BACKUP_SCHEDULE | string | ДА | 0 0 * * * | Принимает формат `CRON` | regex=^((((\d+,)+\d+|(\d+(\/|-|#)\d+)|(\d+L?)|(\*(\/\d+)?)|(L(-\d+)?)|(\?)|([A-Z]{3}(-[A-Z]{3})?)) ?){5,7})|(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)$ |
| 587 | ext_BACKUP_NUM_TO_RETAIN | integer | ДА | 7 | Кол-во **полных** резервных копий Кол-во инкрементов - неограничено Полная резервная копия выполняется раз в неделю *Если изначально полной резервной копии нет* выполняется полный бекап В остальные дни по крону выполняются **инкременты** | minvalue=3; maxvalue=60 |
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 600 | databaseName | string | ДА | Пример: `db01` | regex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$ |
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 596 | username | string | ДА | Пример: `myusername` | regex=^(?![0-9_])[a-zA-Z_][a-zA-Z0-9_]{0,62}$; maxlength=62; minlength=2 | |
| 598 | databaseName | json | ДА | ["database"] | Если базы не существует - при выполнении операции вернётся ошибка | |
| 599 | accessHosts | string | ДА | ::/0 | Пример: `::/0` |
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 602 | databaseName | string | ДА | ВСЕ ДАННЫЕ ВНУТРИ БД БУДУТ УДАЛЕНЫ |
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 601 | username | ДА | Имя пользователя, созданное через операцию `create_user` |
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 603 | resourceInstances | integer | ДА | **Для синхронизации данных между репликами** необходимо включить `Создать ClickHouse-Keeper` | minvalue=1; maxvalue=7 | |
| 604 | resourceInstancesShards | integer | ДА | **Шард** - это часть данных, разделенная на разные узлы (серверы) для горизонтального масштабирования и обработки больших объемов информации. **Реплика** - это точная копия данных внутри одного шарда | minvalue=1; maxvalue=7 | |
| 605 | resourceCPU | integer | ДА | Указывается в Milicores `1000` Mili == `1` Ядро | minvalue=1000; maxvalue=8000 | |
| 606 | resourceMemory | integer | ДА | Указывается в Megabytes | minvalue=1536; maxvalue=8192 | |
| 607 | appVersion | string | ДА | 25.10 | Версия `clickhouse-server` | |
| 608 | resourceDisk | integer | ДА | Указывается в Gigabytes **Нельзя** выставлять меньше текущего значения | minvalue=1; maxvalue=999 | |
| 609 | needExternalAddressMaster | boolean | ДА | Для выделения IP также необходимо указать имя Ip-space. Его можно получить из свойств ресурсной платформы | value_list=false, true | |
| 610 | ipSpaceNameMaster | string | ДА | Имя ipSpace для публикации внешнего адреса Не может быть пустым, если включен `Выделение белого ip для master ноды` | ||
| 611 | needCreateKeeper | boolean | ДА | Аналог `Zookeeper`, представленный от ClickHouse | value_list=false, true | |
| 612 | resourceCPUKeeper | integer | ДА | Указывается в Milicores `1000` Mili == `1` Ядро | minvalue=50; maxvalue=8000 | |
| 613 | resourceMemoryKeeper | integer | ДА | Указывается в Megabytes | minvalue=152; maxvalue=8192 | |
| 614 | resourceInstancesKeeper | integer | ДА | Для **теста** - 1 нода. Для **продуктива** - 3 ноды | minvalue=1; maxvalue=3; value_list=1, 3 | |
| 615 | ext_BACKUP_SCHEDULE | string | ДА | 0 0 * * * | Принимает формат `CRON` | regex=^((((\d+,)+\d+|(\d+(\/|-|#)\d+)|(\d+L?)|(\*(\/\d+)?)|(L(-\d+)?)|(\?)|([A-Z]{3}(-[A-Z]{3})?)) ?){5,7})|(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)$ |
| 616 | ext_BACKUP_NUM_TO_RETAIN | integer | ДА | Кол-во **полных** резервных копий Кол-во инкрементов - неограничено Полная резервная копия выполняется раз в неделю *Если изначально полной резервной копии нет* выполняется полный бекап В остальные дни по крону выполняются **инкременты** | minvalue=3; maxvalue=60 |
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 600 | databaseName | string | ДА | Пример: `db01` | regex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$ |
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 602 | databaseName | string | ДА | ВСЕ ДАННЫЕ ВНУТРИ БД БУДУТ УДАЛЕНЫ |
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 596 | username | string | ДА | Пример: `myusername` | regex=^(?![0-9_])[a-zA-Z_][a-zA-Z0-9_]{0,62}$; maxlength=62; minlength=2 | |
| 598 | databaseName | json | ДА | ["database"] | Если базы не существует - при выполнении операции вернётся ошибка | |
| 599 | accessHosts | string | ДА | ::/0 | Пример: `::/0` |
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 601 | username | ДА | Имя пользователя, созданное через операцию `create_user` |