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