Архитектура ClickHouse Cloud
- Вычислительные ресурсы и хранилище разделены, поэтому могут автоматически масштабироваться независимо друг от друга, и вам не придется избыточно выделять ни ресурсы хранилища, ни вычислительные ресурсы в конфигурациях со статически заданными параметрами.
- Многоуровневое хранение поверх объектного хранилища и многоуровневое кэширование обеспечивают практически неограниченное масштабирование и хорошее соотношение цены и производительности, поэтому вам не нужно заранее планировать объем хранилища и беспокоиться о высоких затратах на него.
- Высокая доступность включена по умолчанию, а репликация управляется прозрачно, поэтому вы можете сосредоточиться на разработке приложений или анализе данных.
- Автоматическое масштабирование для переменных непрерывных рабочих нагрузок включено по умолчанию, поэтому вам не нужно заранее подбирать размер сервиса, увеличивать ресурсы серверов при росте рабочей нагрузки или вручную уменьшать их при снижении активности
- Бесшовная гибернация для прерывистых рабочих нагрузок включена по умолчанию. Мы автоматически приостанавливаем вычислительные ресурсы после периода неактивности и прозрачно запускаем их снова при поступлении нового запроса, поэтому вам не нужно платить за бездействующие ресурсы.
- Расширенные настройки масштабирования позволяют задать максимальный порог автомасштабирования для дополнительного контроля затрат или минимальный порог автомасштабирования, чтобы резервировать вычислительные ресурсы для приложений со специфическими требованиями к производительности.
Возможности
Движки баз данных и таблиц
ReplicatedMergeTree и MergeTree в ClickHouse Cloud работают одинаково.
Поддерживаемые движки таблиц
- ReplicatedMergeTree (по умолчанию, если ничего не указано)
- ReplicatedSummingMergeTree
- ReplicatedAggregatingMergeTree
- ReplicatedReplacingMergeTree
- ReplicatedCollapsingMergeTree
- ReplicatedVersionedCollapsingMergeTree
- MergeTree (преобразуется в ReplicatedMergeTree)
- SummingMergeTree (преобразуется в ReplicatedSummingMergeTree)
- AggregatingMergeTree (преобразуется в ReplicatedAggregatingMergeTree)
- ReplacingMergeTree (преобразуется в ReplicatedReplacingMergeTree)
- CollapsingMergeTree (преобразуется в ReplicatedCollapsingMergeTree)
- VersionedCollapsingMergeTree (преобразуется в ReplicatedVersionedCollapsingMergeTree)
- URL
- View
- MaterializedView
- GenerateRandom
- Null
- Buffer
- Memory
- Deltalake
- Hudi
- MySQL
- MongoDB
- NATS
- RabbitMQ
- PostgreSQL
- S3
- Kafka
Интерфейсы
Словари
Федеративные запросы
- Deltalake
- Hudi
- MySQL
- MongoDB
- NATS
- RabbitMQ
- PostgreSQL
- S3
Пользовательские функции
Поведение настроек
- Настройки уровня сеанса (задаваемые оператором
SET) не передаются в контекст выполнения UDF - Настройки профиля пользователя не наследуются UDF
- Настройки уровня запроса не применяются при выполнении UDF
Экспериментальные возможности
Именованные коллекции
Значения по умолчанию и особенности эксплуатации
Эксплуатационные ограничения
max_parts_in_total: 10,000
max_parts_in_total по умолчанию для таблиц MergeTree было снижено со 100 000 до 10 000. Причина этого изменения в том, что мы заметили: большое количество частей данных с высокой вероятностью приводит к медленному запуску сервисов в облаке. Большое количество частей обычно указывает на слишком детализированный ключ партиционирования — как правило, это происходит случайно, и этого следует избегать. Изменение значения по умолчанию позволит раньше выявлять такие случаи.
max_concurrent_queries: 1,000
100 до 1000, чтобы обеспечить больший параллелизм.
В результате для сервисов соответствующих уровней будет доступно количество реплик * 1,000 параллельных запросов.
Для сервиса уровня Basic, ограниченного одной репликой, это 1000 параллельных запросов, а для Scale и Enterprise — 1000+
в зависимости от количества настроенных реплик.