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

Руководство по совместимости с ClickHouse Cloud

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

Архитектура ClickHouse Cloud

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

Эти преимущества достигаются благодаря архитектурным решениям, лежащим в основе ClickHouse Cloud:

  • Вычисления и хранилище разделены и могут автоматически масштабироваться независимо друг от друга, поэтому вам не нужно избыточно резервировать хранилище или вычислительные ресурсы в статических конфигурациях экземпляров.
  • Многоуровневое хранилище на базе объектного хранилища и многоуровневое кэширование обеспечивают практически неограниченное масштабирование и хорошее соотношение цена/производительность, поэтому вам не нужно заранее задавать размер партиции хранилища и беспокоиться о высоких затратах на хранение.
  • Высокая доступность включена по умолчанию, а репликация прозрачно управляется за вас, поэтому вы можете сосредоточиться на создании приложений или анализе данных.
  • Автоматическое масштабирование для переменных непрерывных нагрузок включено по умолчанию, поэтому вам не нужно заранее определять размер сервиса, масштабировать серверы при росте нагрузки или вручную уменьшать количество серверов при снижении активности.
  • Прозрачная гибернация для эпизодических нагрузок включена по умолчанию. Мы автоматически приостанавливаем вычислительные ресурсы после периода бездействия и прозрачно запускаем их снова при поступлении нового запроса, поэтому вам не нужно платить за простаивающие ресурсы.
  • Расширенные настройки масштабирования позволяют задать максимальный порог автомасштабирования для дополнительного контроля затрат или минимальный порог автомасштабирования для резервирования вычислительных ресурсов для приложений с особыми требованиями к производительности.

Возможности

ClickHouse Cloud предоставляет доступ к специально отобранному набору возможностей в дистрибутиве ClickHouse с открытым исходным кодом. Таблицы ниже описывают некоторые функции, которые на данный момент отключены в ClickHouse Cloud.

Движки баз данных и таблиц

ClickHouse Cloud по умолчанию предоставляет высокодоступный реплицируемый сервис. Таким образом, все движки баз данных и таблиц являются «реплицируемыми». Вам не нужно указывать «Replicated» — например, 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
  • Kafka

Интерфейсы

ClickHouse Cloud поддерживает HTTPS, нативные интерфейсы и сетевой протокол MySQL. Поддержка дополнительных интерфейсов, таких как 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 Cloud доступны в рамках программы закрытого предварительного просмотра.

Поведение настроек

Важно

UDF в ClickHouse Cloud не наследуют настройки, заданные на уровне пользователя. Они выполняются с системными настройками по умолчанию.

Это означает:

  • Настройки на уровне сессии (заданные оператором SET) не распространяются на контекст выполнения UDF
  • UDF не наследуют настройки профиля пользователя
  • Настройки на уровне запроса не применяются при выполнении UDF

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

Экспериментальные функции отключены в сервисах ClickHouse Cloud, чтобы обеспечить стабильность их развертываний.

Именованные коллекции

Именованные коллекции на данный момент не поддерживаются в ClickHouse Cloud.

Параметры эксплуатации по умолчанию и связанные особенности

Ниже приведены настройки по умолчанию для сервисов ClickHouse Cloud. В одних случаях эти настройки фиксированы, чтобы обеспечить корректную работу сервиса, в других — могут настраиваться.

Эксплуатационные ограничения

max_parts_in_total: 10,000

Значение по умолчанию настройки max_parts_in_total для таблиц MergeTree было уменьшено со 100 000 до 10 000. Причина этого изменения в том, что мы наблюдали: большое количество частей данных, как правило, приводит к медленному запуску сервисов в Cloud. Значительное количество частей обычно указывает на выбор слишком детализированного ключа партиции, что чаще всего является ошибкой и должно быть исключено. Изменение значения по умолчанию позволит выявлять такие случаи на более ранней стадии.

max_concurrent_queries: 1,000

Эта серверная настройка была увеличена с значения по умолчанию 100 до 1000, чтобы обеспечить большую степень параллелизма. В результате для сервисов данного тарифного уровня будет доступно number of replicas * 1,000 параллельных запросов. 1000 параллельных запросов для сервиса тарифного уровня Basic, ограниченного одной репликой, и 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.

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

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