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 должен соответствовать тому, что доступно в self-managed установках. Несколько заметных исключений:
- Поддержка
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 для межкластерной связи в облаке и для связи с внешними self-managed кластерами 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 Table Engine в ClickHouse Cloud в настоящее время недоступен. Вместо этого мы рекомендуем полагаться на архитектуры, которые разъединяют компоненты соединения Kafka и сервис ClickHouse, чтобы добиться разделения обязанностей. Мы рекомендуем ClickPipes для получения данных из потока Kafka. В качестве альтернативы рассмотрите основанные на отправке альтернативы, перечисленные в Kafka User Guide.
Именованные коллекции
Именованные коллекции в настоящее время не поддерживаются в 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 в облаке и оцениваем спрос на многие другие функции. Если у вас есть отзывы и вы хотите запросить конкретную функцию, пожалуйста, отправьте это здесь.