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

Справочник по совместимости 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 в облаке и оцениваем спрос на многие другие функции. Если у вас есть отзывы и вы хотите запросить конкретную функцию, пожалуйста, отправьте её здесь.