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

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 UDFs.

Экспериментальные функции

Экспериментальные функции отключены в службах 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 ТБ, чтобы обеспечить возможность удаления таблиц/партиций размером до 1 ТБ.

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

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

Расширенное администрирование безопасности

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

Дорожная карта

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