Справочник по совместимости ClickHouse Cloud
Этот справочник предоставляет обзор функциональных и операционных аспектов ClickHouse Cloud. Хотя ClickHouse Cloud основан на открытом исходном коде ClickHouse, могут быть некоторые различия в архитектуре и реализации. Вы можете найти этот блог о том, как мы создали ClickHouse Cloud интересным и актуальным для чтения в качестве фона.
Архитектура ClickHouse Cloud
ClickHouse Cloud значительно упрощает операционные затраты и снижает стоимость эксплуатации ClickHouse в масштабах. Вам не нужно заранее рассчитывать свою инфраструктуру, настраивать репликацию для высокой доступности, вручную шардировать свои данные, увеличивать ваши серверы при росте нагрузки или уменьшать их, когда вы не используете их — мы позаботимся об этом за вас.
Эти преимущества являются следствием архитектурного выбора, лежащего в основе ClickHouse Cloud:
- Вычисления и хранение разделены, поэтому их можно автоматически масштабировать независимо друг от друга, что позволяет избежать избыточного резервирования как хранения, так и вычислений в статических конфигурациях экземпляров.
- Многоуровневое хранение на основе объектного хранилища и многоуровневый кэш обеспечивают практически неограниченное масштабирование и хорошее соотношение цены и производительности, поэтому вам не нужно заранее рассчитывать вашу хранилищную партицию и беспокоиться о высоких затратах на хранение.
- Высокая доступность включена по умолчанию, а репликация управляется прозрачно, так что вы можете сосредоточиться на построении своих приложений или анализе данных.
- Автоматическое масштабирование для переменной непрерывной нагрузки включено по умолчанию, поэтому вам не нужно заранее определять размер вашего сервиса, увеличивать серверы при росте нагрузки или вручную уменьшать серверы, когда активность снижается.
- Бесшовная гибернация для прерывистых нагрузок включена по умолчанию. Мы автоматически приостанавливаем ваши вычислительные ресурсы после периода бездействия и бесшовно запускаем их снова, когда поступает новый запрос, поэтому вам не придется платить за неиспользуемые ресурсы.
- Продвинутые параметры масштабирования предоставляют возможность установить максимальное значение для автоматического масштабирования для дополнительного контроля затрат или минимальное значение для автоматического масштабирования, чтобы зарезервировать вычислительные ресурсы для приложений с особыми требованиями к производительности.
Возможности
ClickHouse Cloud предоставляет доступ к курируемому набору возможностей в открытой версии ClickHouse. Таблицы ниже описывают некоторые функции, которые в настоящее время отключены в ClickHouse Cloud.
Синтаксис DDL
В основном, синтаксис DDL ClickHouse Cloud должен соответствовать доступному в автономных установках. Есть несколько заметных исключений:
- Поддержка
CREATE AS SELECT
, которая в настоящее время недоступна. В качестве обходного пути мы рекомендуем использоватьCREATE ... EMPTY ... AS SELECT
, а затем вставить в эту таблицу (см. этот блог для примера). - Некоторые экспериментальные синтаксисы могут быть отключены, например, оператор
ALTER TABLE ... MODIFY QUERY
. - Некоторые функции интроспекции могут быть отключены по соображениям безопасности, например, SQL-функция
addressToLine
. - Не используйте параметры
ON CLUSTER
в ClickHouse Cloud — они не нужны. Хотя в большинстве случаев они не выполняются, они всё равно могут вызвать ошибку, если вы пытаетесь использовать макросы. Макросы часто не работают и не нужны в ClickHouse Cloud.
Движки базы данных и таблиц
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
Интерфейсы
ClickHouse Cloud поддерживает HTTPS, родные интерфейсы и MySQL wire protocol. Поддержка других интерфейсов, таких как Postgres, скоро будет добавлена.
Словари
Словари являются популярным способом ускорения поиска в ClickHouse. ClickHouse Cloud в настоящее время поддерживает словари из PostgreSQL, MySQL, удалённых и локальных серверов ClickHouse, Redis, MongoDB и HTTP-источников.
Федеративные запросы
Мы поддерживаем федеративные запросы ClickHouse для межкластерной связи в облаке и для связи с внешними автономными кластерами ClickHouse. ClickHouse Cloud в настоящее время поддерживает федеративные запросы с использованием следующих интеграционных движков:
- Deltalake
- Hudi
- MySQL
- MongoDB
- NATS
- RabbitMQ
- PostgreSQL
- S3
Федеративные запросы с некоторыми внешними движками баз данных и таблиц, такими как SQLite, ODBC, JDBC, Redis, HDFS и Hive, пока не поддерживаются.
Пользовательские функции
Пользовательские функции являются новой функцией в ClickHouse. ClickHouse Cloud в настоящее время поддерживает только SQL UDF.
Экспериментальные функции
Экспериментальные функции отключены в сервисах ClickHouse Cloud, чтобы обеспечить стабильность развертывания сервиса.
Kafka
Движок таблицы Kafka в данный момент не доступен в ClickHouse Cloud. Вместо этого, мы рекомендуем полагаться на архитектуры, которые разделяют компоненты подключения Kafka и сервис ClickHouse для достижения разделения ответственности. Мы рекомендуем ClickPipes для получения данных из потока Kafka. В качестве альтернативы, рассмотрите варианты на основе PUSH, перечисленные в Руководстве пользователя Kafka.
Именованные коллекции
Именованные коллекции в настоящее время не поддерживаются в 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
одновременно выполняемых запросов для базового тарифного сервиса ограничено одной репликой и 1000+
для Scale и Enterprise,
в зависимости от числа настроенных реплик.
max_table_size_to_drop: 1,000,000,000,000
Это значение увеличено с 50 ГБ, чтобы было возможно удаление таблиц/партиций размером до 1 ТБ.
Системные настройки
ClickHouse Cloud настроен для переменных нагрузок, и по этой причине большинство системных настроек в настоящее время не подлежат конфигурации. Мы не ожидаем необходимости настройки системных настроек для большинства пользователей, но если у вас есть вопросы по продвинутой оптимизации системы, пожалуйста, свяжитесь с поддержкой ClickHouse Cloud.
Продвинутое администрирование безопасности
В рамках создания сервиса ClickHouse мы создаем базу данных по умолчанию и пользователя по умолчанию, который имеет широкие разрешения для этой базы данных. Этот первоначальный пользователь может создавать дополнительные пользователей и назначать им разрешения на эту базу данных. За пределами этого, возможность включения следующих функций безопасности в базе данных с использованием Kerberos, LDAP или SSL X.509 сертификата аутентификации в настоящее время не поддерживается.
Дорожная карта
Мы вводим поддержку выполняемых UDF в облаке и оцениваем спрос на многие другие функции. Если у вас есть отзывы и вы хотите запросить конкретную функцию, пожалуйста, отправьте её здесь.