В этом руководстве описано, чего ожидать от ClickHouse Cloud с точки зрения функциональности и эксплуатации. Хотя ClickHouse Cloud основан на открытой версии ClickHouse, в архитектуре и реализации возможны некоторые различия. Для общего понимания вам также может быть полезна статья о том, как мы создали ClickHouse Cloud.
Архитектура ClickHouse Cloud
ClickHouse Cloud значительно упрощает эксплуатацию и снижает затраты при работе с ClickHouse в крупном масштабе. Вам не нужно заранее подбирать размер развертывания, настраивать репликацию для высокой доступности, вручную разбивать данные на сегменты, масштабировать серверы при росте рабочей нагрузки или уменьшать их ресурсы, когда они не используются, — мы берем это на себя.
Эти преимущества обусловлены архитектурными решениями, лежащими в основе ClickHouse Cloud:
- Вычислительные ресурсы и хранилище разделены, поэтому могут автоматически масштабироваться независимо друг от друга, и вам не придется избыточно выделять ни ресурсы хранилища, ни вычислительные ресурсы в конфигурациях со статически заданными параметрами.
- Многоуровневое хранение поверх объектного хранилища и многоуровневое кэширование обеспечивают практически неограниченное масштабирование и хорошее соотношение цены и производительности, поэтому вам не нужно заранее планировать объем хранилища и беспокоиться о высоких затратах на него.
- Высокая доступность включена по умолчанию, а репликация управляется прозрачно, поэтому вы можете сосредоточиться на разработке приложений или анализе данных.
- Автоматическое масштабирование для переменных непрерывных рабочих нагрузок включено по умолчанию, поэтому вам не нужно заранее подбирать размер сервиса, увеличивать ресурсы серверов при росте рабочей нагрузки или вручную уменьшать их при снижении активности
- Бесшовная гибернация для прерывистых рабочих нагрузок включена по умолчанию. Мы автоматически приостанавливаем вычислительные ресурсы после периода неактивности и прозрачно запускаем их снова при поступлении нового запроса, поэтому вам не нужно платить за бездействующие ресурсы.
- Расширенные настройки масштабирования позволяют задать максимальный порог автомасштабирования для дополнительного контроля затрат или минимальный порог автомасштабирования, чтобы резервировать вычислительные ресурсы для приложений со специфическими требованиями к производительности.
Возможности
ClickHouse Cloud предоставляет доступ к тщательно отобранному набору возможностей ClickHouse с открытым исходным кодом. В таблицах ниже перечислены некоторые возможности, которые в настоящее время недоступны в ClickHouse Cloud.
Движки баз данных и таблиц
ClickHouse Cloud по умолчанию — это высокодоступный сервис с репликацией, построенный на семействе движков таблиц SharedMergeTree. Когда вы создаёте таблицу со стандартным движком семейства MergeTree, Cloud автоматически подставляет соответствующий движок Shared*. Добавлять префикс Shared или Replicated вручную не нужно.
| Вы указываете | Cloud использует |
|---|---|
MergeTree (или без движка) |
SharedMergeTree |
ReplacingMergeTree |
SharedReplacingMergeTree |
SummingMergeTree |
SharedSummingMergeTree |
AggregatingMergeTree |
SharedAggregatingMergeTree |
CollapsingMergeTree |
SharedCollapsingMergeTree |
VersionedCollapsingMergeTree |
SharedVersionedCollapsingMergeTree |
GraphiteMergeTree |
SharedGraphiteMergeTree |
Движки Replicated* также преобразуются в соответствующие варианты Shared*. Эта подстановка видна в SHOW CREATE TABLE: там будет указан движок Shared*, даже если в вашем операторе был задан обычный вариант.
Следующие движки таблиц также поддерживаются и используются как есть. Поддерживаемый движок таблицы MySQL отличается от неподдерживаемого движка базы данных MySQL:
- URL
- View
- MaterializedView
- GenerateRandom
- Null
- Buffer
- Memory
IcebergS3иIcebergAzure- Deltalake
- Hudi
- MySQL
- MongoDB
- NATS
- RabbitMQ
- PostgreSQL
- S3
- Kafka
Экспериментальные движки таблиц PaimonS3 и PaimonAzure могут быть включены на некоторых сервисах ClickHouse Cloud. Обратитесь в службу поддержки, чтобы подтвердить доступность.
Интерфейсы
ClickHouse Cloud поддерживает HTTPS, нативные интерфейсы и протокол MySQL. В ближайшее время также появится поддержка других интерфейсов, таких как Postgres.
Словари
Словари — популярный способ ускорить поиск в ClickHouse. В настоящее время ClickHouse Cloud поддерживает словари из PostgreSQL, MySQL, удалённых и локальных серверов ClickHouse, Redis, MongoDB и HTTP-источников.
Федеративные запросы
Мы поддерживаем федеративные запросы ClickHouse для межкластерного взаимодействия в облаке, а также для взаимодействия с внешними самоуправляемыми кластерами ClickHouse. В настоящее время ClickHouse Cloud поддерживает федеративные запросы с использованием следующих интеграционных движков:
IcebergS3иIcebergAzurePaimonS3иPaimonAzure(экспериментальные; для получения доступа обратитесь в службу поддержки)- Deltalake
- Hudi
- MySQL
- MongoDB
- NATS
- RabbitMQ
- PostgreSQL
- S3
Федеративные запросы с некоторыми внешними движками баз данных и таблиц, такими как SQLite, ODBC, JDBC, Redis, HDFS и Hive, пока не поддерживаются.
Пользовательские функции
Пользовательские функции в ClickHouse Cloud доступны в публичной бете.
Поведение настроек
Это означает:
- Настройки уровня сеанса (задаваемые оператором
SET) не передаются в контекст выполнения UDF - Настройки профиля пользователя не наследуются UDF
- Настройки уровня запроса не применяются при выполнении UDF
Экспериментальные возможности
Экспериментальные возможности отключены в сервисах ClickHouse Cloud для обеспечения стабильности развертываний.
Именованные коллекции
Именованные коллекции, созданные с помощью DDL, можно включить в некоторых сервисах ClickHouse Cloud. Обратитесь в службу поддержки, чтобы уточнить доступность. Именованные коллекции, определенные в файлах конфигурации, недоступны, поскольку пользователи не могут изменять файлы конфигурации сервера в ClickHouse Cloud.
созданные с помощью DDL именованные коллекции can be enabled on select ClickHouse Cloud services. Обратитесь в службу поддержки to confirm availability. Именованные коллекции defined in файлах конфигурации aren't available because users can't modify server файлы конфигурации in ClickHouse Cloud.
Значения по умолчанию и особенности эксплуатации
Ниже приведены настройки по умолчанию для сервисов ClickHouse Cloud. В одних случаях они зафиксированы для обеспечения корректной работы сервиса, а в других их можно менять.
Эксплуатационные ограничения
max_parts_in_total: 10,000
Значение настройки max_parts_in_total по умолчанию для таблиц MergeTree было снижено со 100 000 до 10 000. Причина этого изменения в том, что мы заметили: большое количество частей данных с высокой вероятностью приводит к медленному запуску сервисов в облаке. Большое количество частей обычно указывает на слишком детализированный ключ партиционирования — как правило, это происходит случайно, и этого следует избегать. Изменение значения по умолчанию позволит раньше выявлять такие случаи.
max_concurrent_queries: 1,000
Эта настройка сервера была увеличена со значения по умолчанию 100 до 1000, чтобы обеспечить больший параллелизм.
В результате сервис поддерживает количество реплик * 1,000 параллельных запросов. Сервис с одной репликой поддерживает до 1000 параллельных запросов независимо от уровня. Сервисы с несколькими репликами на уровнях Scale и Enterprise поддерживают до 1000 параллельных запросов на реплику.
max_table_size_to_drop: 1,000,000,000,000
Это значение увеличено с 50 ГБ, чтобы разрешить удаление таблиц/партиций размером до 1 ТБ.
Системные настройки
ClickHouse Cloud оптимизирован для переменных рабочих нагрузок, поэтому большинство системных настроек сейчас недоступно для изменения. Мы не ожидаем, что большинству пользователей потребуется настраивать системные параметры, но если у вас есть вопросы по расширенной настройке системы, обратитесь в ClickHouse Cloud Support.
Расширенное администрирование безопасности
При создании сервиса ClickHouse создаются база данных по умолчанию и пользователь по умолчанию с широкими разрешениями для этой базы данных. Этот первоначальный пользователь может создавать дополнительных пользователей и назначать им разрешения для этой базы данных. Кроме того, в настоящее время не поддерживается включение в базе данных следующих функций безопасности с использованием аутентификации Kerberos, LDAP или сертификатов SSL X.509.
Список неподдерживаемых функций
В следующих таблицах перечислены возможности и процедуры для самоуправляемых развертываний, помеченные как неподдерживаемые в ClickHouse Cloud. В каждой записи указана конкретная неподдерживаемая возможность, даже если на исходной странице также описывается поддерживаемая функциональность.
Управляемая инфраструктура и эксплуатация
| Неподдерживаемая возможность | Документация |
|---|---|
Самоуправляемое развертывание и настройка ClickHouse Keeper |
Руководство по Keeper, Защищенные соединения с ZooKeeper |
| Ручной выпуск сертификатов TLS и конфигурация сервера | Настройка ACME, Настройка TLS |
Ручная настройка уровней хранения hot/warm/cold с помощью TTL |
Руководство |
| Проведение тестов производительности на самоуправляемом оборудовании | Руководство |
| Применение рекомендаций по эксплуатации самоуправляемой системы | Руководство |
Аутентификация и безопасность
| Неподдерживаемая возможность | Документация |
|---|---|
| Внешняя HTTP-аутентификация | Справочник |
| Внешняя аутентификация Kerberos | Справочник |
| Аутентификация LDAP и сопоставление ролей | Конфигурация, Аутентификатор |
| Аутентификация с помощью сертификата X.509 | Аутентификация пользователей, Внешний аутентификатор |
Интерфейсы и интеграции
| Неподдерживаемая возможность | Документация |
|---|---|
| Интерфейс проводного протокола PostgreSQL | Справочник |
| Интерфейс SSH с PTY | Справочник |
Движок репликации MaterializedPostgreSQL |
Руководство по ClickPipes, Руководство по коннектору, Движок базы данных, Движок таблицы |
Движок таблицы ODBC |
Справочник |
| Интеграция с S3-совместимым объектным хранилищем MinIO | Руководство |
| Интеграция с S3-совместимым объектным хранилищем Tigris | Руководство |
Движки баз данных и таблиц
| Неподдерживаемая возможность | Документация |
|---|---|
Движок базы данных MySQL |
Справочник |
Движок таблицы EmbeddedRocksDB |
Справочник |
Движок таблицы HDFS |
Справочник |
Движок таблицы Hive |
Справочник |
Движок таблицы JDBC |
Справочник |
Движок таблицы Redis для федеративных запросов |
Справочник |
Движок таблицы SQLite |
Справочник |
Движок таблицы TimeSeries |
Справочник |
Движок таблицы YTsaurus |
Справочник |
Движки таблиц семейства Log (Log, StripeLog и TinyLog) |
Обзор семейства, Log, StripeLog, TinyLog |
Словари и конфигурация сервера
| Неподдерживаемая возможность | Документация |
|---|---|
Именованные коллекции, а также операторы CREATE NAMED COLLECTION и ALTER NAMED COLLECTION |
Обзор, Создание, Изменение |
| Конфигурация словаря на основе файла | Справочник |
| Встроенные словари геобазы | Справочник |
Локальные источники словарей YAMLRegExpTree |
Руководство по структурам, Справочник источников |
Источник словаря YTsaurus |
Справочник |
| Словари японского токенизатора, настроенные на сервере | Справочник |
Форматы данных и кодеки
| Неподдерживаемая возможность | Документация |
|---|---|
Формат CapnProto с файлами схем на стороне сервера |
Справочник форматов, Руководство |
Форматы Protobuf, ProtobufList и ProtobufSingle с файлами схем на стороне сервера |
Руководство, ProtobufList, ProtobufSingle |
Устаревшие кодеки ZSTD_QAT и DEFLATE_QPL |
ZSTD_QAT, DEFLATE_QPL |
Функции и экспериментальные возможности
| Неподдерживаемая возможность | Документация |
|---|---|
| Экспериментальные функции обработки естественного языка | Справочник |
| Экспериментальные многооператорные транзакции с коммитом и откатом | Руководство |
| Экспериментальные функции интроспекции транзакций | transactionID, transactionLatestSnapshot, transactionOldestSnapshot |
Функции временных окон для WindowView |
Справочник |
Экспериментальный WindowView |
Справочник |
| Пользовательские функции WebAssembly | Обзор, Руководство |
| Исполняемые пользовательские функции на основе драйверов | Справочник |
Табличная функция filesystem для файлов на локальном сервере |
Справочник |
Администрирование и управление доступом
| Неподдерживаемая возможность | Документация |
|---|---|
Операции со статистикой столбцов с помощью ALTER TABLE |
Справочник |
Имперсонация пользователя с помощью EXECUTE AS |
Справочник |
| Привилегии для конкретных движков таблиц | Grant, Настройка сервера |
Сокращённая форма привилегии GRANT ALL |
Справочник |
Завершение работы сервера с помощью SYSTEM SHUTDOWN |
Справочник |
Запуск и остановка фоновых загрузок с помощью команд SYSTEM |
SYSTEM STOP FETCHES, SYSTEM START FETCHES |
Запуск и остановка фоновых слияний с помощью команд SYSTEM |
SYSTEM STOP MERGES, SYSTEM START MERGES |
Запуск и остановка фоновых слияний TTL с помощью команд SYSTEM |
SYSTEM STOP TTL MERGES, SYSTEM START TTL MERGES |
Планы развития
Мы оцениваем интерес к многим другим возможностям ClickHouse Cloud. Если у вас есть отзывы и вы хотите запросить конкретную возможность, отправьте их здесь.