Перейти к основному содержимому
Перейти к основному содержимому

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 — они не нужны. Хотя это в основном функции "no-op", они все еще могут вызвать ошибку, если вы пытаетесь использовать макросы. Макросы обычно не работают и не нужны в 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 Table Engine в настоящее время не доступен в 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+ для масштабируемых и корпоративных уровней, в зависимости от числа настроенных реплик.

max_table_size_to_drop: 1,000,000,000,000

Увеличили это значение с 50 ГБ для возможности удаления таблиц/партиций до 1 ТБ.

Системные настройки

ClickHouse Cloud настроен для переменных рабочих нагрузок, и по этой причине большинство системных настроек в настоящее время не поддаются настройке. Мы не ожидаем необходимости настраивать системные параметры для большинства пользователей, но если у вас есть вопрос о продвинутой настройке системы, пожалуйста, свяжитесь с поддержкой ClickHouse Cloud.

Расширенное управление безопасностью

В рамках создания службы ClickHouse мы создаем базу данных по умолчанию и пользователя по умолчанию, который имеет широкие права на эту базу данных. Этот начальный пользователь может создавать дополнительных пользователей и назначать им права на эту базу данных. Кроме того, в данный момент не поддерживаются возможности включения следующих функций безопасности в базе данных с помощью аутентификации Kerberos, LDAP или сертификатов SSL X.509.

Дорога к развитию

Мы вводим поддержку исполняемых UDF в облаке и оцениваем спрос на многие другие функции. Если у вас есть отзывы и вы хотите запросить конкретную функцию, пожалуйста, отправьте ее здесь.