Архитектура ClickHouse Cloud
ClickHouse Cloud значительно упрощает эксплуатацию и снижает затраты при работе с ClickHouse в крупном масштабе. Вам не нужно заранее подбирать размер развертывания, настраивать репликацию для высокой доступности, вручную разбивать данные на сегменты, масштабировать серверы при росте рабочей нагрузки или уменьшать их ресурсы, когда они не используются, — мы берем это на себя. Эти преимущества обусловлены архитектурными решениями, лежащими в основе ClickHouse Cloud:- Вычислительные ресурсы и хранилище разделены, поэтому могут автоматически масштабироваться независимо друг от друга, и вам не придется избыточно выделять ни ресурсы хранилища, ни вычислительные ресурсы в конфигурациях со статически заданными параметрами.
- Многоуровневое хранение поверх объектного хранилища и многоуровневое кэширование обеспечивают практически неограниченное масштабирование и хорошее соотношение цены и производительности, поэтому вам не нужно заранее планировать объем хранилища и беспокоиться о высоких затратах на него.
- Высокая доступность включена по умолчанию, а репликация управляется прозрачно, поэтому вы можете сосредоточиться на разработке приложений или анализе данных.
- Автоматическое масштабирование для переменных непрерывных рабочих нагрузок включено по умолчанию, поэтому вам не нужно заранее подбирать размер сервиса, увеличивать ресурсы серверов при росте рабочей нагрузки или вручную уменьшать их при снижении активности
- Бесшовная гибернация для прерывистых рабочих нагрузок включена по умолчанию. Мы автоматически приостанавливаем вычислительные ресурсы после периода неактивности и прозрачно запускаем их снова при поступлении нового запроса, поэтому вам не нужно платить за бездействующие ресурсы.
- Расширенные настройки масштабирования позволяют задать максимальный порог автомасштабирования для дополнительного контроля затрат или минимальный порог автомасштабирования, чтобы резервировать вычислительные ресурсы для приложений со специфическими требованиями к производительности.
Возможности
ClickHouse Cloud предоставляет доступ к тщательно отобранному набору возможностей ClickHouse с открытым исходным кодом. В таблицах ниже перечислены некоторые возможности, которые в настоящее время недоступны в ClickHouse Cloud.Движки баз данных и таблиц
ClickHouse Cloud по умолчанию — это высокодоступный сервис с репликацией, построенный на семействе движков таблиц SharedMergeTree. Когда вы создаёте таблицу со стандартным движком семейства MergeTree, Cloud автоматически подставляет соответствующий движокShared*. Добавлять префикс Shared или Replicated вручную не нужно.
Движки
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
Пользовательские функции
SQL- и исполняемые пользовательские функции общедоступны в ClickHouse Cloud. См. раздел Пользовательские функции в 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 параллельных запросов на реплику.