Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Cloud compatibility

This guide provides an overview of what to expect functionally and operationally in ClickHouse Cloud. While ClickHouse Cloud is based on the open-source ClickHouse distribution, there may be some differences in architecture and implementation. You may find this blog on how we built ClickHouse Cloud interesting and relevant to read as background.

ClickHouse Cloud architecture

ClickHouse Cloud significantly simplifies operational overhead and reduces the costs of running ClickHouse at scale. There is no need to size your deployment upfront, set up replication for high availability, manually shard your data, scale up your servers when your workload increases, or scale them down when you’re not using them — we handle this for you.

These benefits come as a result of architectural choices underlying ClickHouse Cloud:

  • Compute and storage are separated and thus can be automatically scaled along separate dimensions, so you don’t have to over-provision either storage or compute in static instance configurations.
  • Tiered storage on top of object store and multi-level caching provides virtually limitless scaling and good price/performance ratio, so you don’t have to size your storage partition upfront and worry about high storage costs.
  • High availability is on by default and replication is transparently managed, so you can focus on building your applications or analyzing your data.
  • Automatic scaling for variable continuous workloads is on by default, so you don’t have to size your service upfront, scale up your servers when your workload increases, or manually scale down your servers when you have less activity
  • Seamless hibernation for intermittent workloads is on by default. We automatically pause your compute resources after a period of inactivity and transparently start it again when a new query arrives, so you don’t have to pay for idle resources.
  • Advanced scaling controls provide the ability to set an auto-scaling maximum for additional cost control or an auto-scaling minimum to reserve compute resources for applications with specialized performance requirements.

Capabilities

ClickHouse Cloud provides access to a curated set of capabilities in the open source distribution of ClickHouse. Tables below describe some features that are disabled in ClickHouse Cloud at this time.

Database and table engines

ClickHouse Cloud is a highly-available, replicated service by default, built on the SharedMergeTree table engine family. When you create a table with a standard MergeTree-family engine, Cloud automatically substitutes the corresponding Shared* engine. You don’t add a Shared or Replicated prefix yourself.

You specify Cloud uses
MergeTree (or no engine) SharedMergeTree
ReplacingMergeTree SharedReplacingMergeTree
SummingMergeTree SharedSummingMergeTree
AggregatingMergeTree SharedAggregatingMergeTree
CollapsingMergeTree SharedCollapsingMergeTree
VersionedCollapsingMergeTree SharedVersionedCollapsingMergeTree
GraphiteMergeTree SharedGraphiteMergeTree

Replicated* engines are converted to the same Shared* equivalents. The substitution is visible in SHOW CREATE TABLE, which reports the Shared* engine even though your statement specified the plain variant.

The following table engines are also supported and used as written. The supported MySQL table engine is distinct from the unsupported MySQL database engine:

  • URL
  • View
  • MaterializedView
  • GenerateRandom
  • Null
  • Buffer
  • Memory
  • IcebergS3 and IcebergAzure
  • Deltalake
  • Hudi
  • MySQL
  • MongoDB
  • NATS
  • RabbitMQ
  • PostgreSQL
  • S3
  • Kafka

Experimental PaimonS3 and PaimonAzure table engines can be enabled on select ClickHouse Cloud services. Contact Support to confirm availability.

Interfaces

ClickHouse Cloud supports HTTPS, native interfaces, and the MySQL wire protocol. Support for more interfaces such as Postgres is coming soon.

Dictionaries

Dictionaries are a popular way to speed up lookups in ClickHouse. ClickHouse Cloud currently supports dictionaries from PostgreSQL, MySQL, remote and local ClickHouse servers, Redis, MongoDB and HTTP sources.

Federated queries

We support federated ClickHouse queries for cross-cluster communication in the cloud, and for communication with external self-managed ClickHouse clusters. ClickHouse Cloud currently supports federated queries using the following integration engines:

  • IcebergS3 and IcebergAzure
  • PaimonS3 and PaimonAzure (experimental; contact Support for availability)
  • Deltalake
  • Hudi
  • MySQL
  • MongoDB
  • NATS
  • RabbitMQ
  • PostgreSQL
  • S3

Federated queries with some external database and table engines, such as SQLite, ODBC, JDBC, Redis, HDFS and Hive aren’t yet supported.

User defined functions

User-defined functions in ClickHouse Cloud are in public beta.

Settings behavior

This means:

  • Session-level settings (set via SET statement) aren’t propagated to UDF execution context
  • User profile settings aren’t inherited by UDFs
  • Query-level settings don’t apply within UDF execution

Experimental features

Experimental features are disabled in ClickHouse Cloud services to ensure the stability of service deployments.

Named collections

DDL-created named collections can be enabled on select ClickHouse Cloud services. Contact Support to confirm availability. Named collections defined in configuration files aren’t available because users can’t modify server configuration files in ClickHouse Cloud.

Operational defaults and considerations

The following are default settings for ClickHouse Cloud services. In some cases, these settings are fixed to ensure the correct operation of the service, and in others, they can be adjusted.

Operational limits

max_parts_in_total: 10,000

The default value of the max_parts_in_total setting for MergeTree tables has been lowered from 100,000 to 10,000. The reason for this change is that we observed that a large number of data parts is likely to cause a slow startup time of services in the cloud. A large number of parts usually indicate a choice of too granular partition key, which is typically done accidentally and should be avoided. The change of default will allow the detection of these cases earlier.

max_concurrent_queries: 1,000

Increased this per-server setting from the default of 100 to 1000 to allow for more concurrency. This results in number of replicas * 1,000 concurrent queries for a service. A single-replica service supports up to 1000 concurrent queries regardless of tier. Multi-replica services on the Scale and Enterprise tiers support up to 1000 concurrent queries per replica.

max_table_size_to_drop: 1,000,000,000,000

Increased this setting from 50GB to allow for dropping of tables/partitions up to 1TB.

System settings

ClickHouse Cloud is tuned for variable workloads, and for that reason most system settings aren’t configurable at this time. We don’t anticipate the need to tune system settings for most users, but if you have a question about advanced system tuning, please contact ClickHouse Cloud Support.

Advanced security administration

As part of creating the ClickHouse service, we create a default database, and the default user that has broad permissions to this database. This initial user can create additional users and assign their permissions to this database. Beyond this, the ability to enable the following security features within the database using Kerberos, LDAP, or SSL X.509 certificate authentication aren’t supported at this time.

List of unsupported features

The following tables list features and self-managed procedures that are marked as unsupported in ClickHouse Cloud. Each entry names the specific unsupported capability, even when its source page also covers supported functionality.

Managed infrastructure and operations

Unsupported capability Documentation
Self-managed ClickHouse Keeper deployment and configuration Keeper guide, Secure ZooKeeper connections
Manual TLS certificate provisioning and server configuration ACME provisioning, TLS configuration
Manual hot/warm/cold storage-tier configuration with TTL Guide
Running self-managed hardware performance tests Guide
Applying self-managed operational recommendations Guide

Authentication and security

Unsupported capability Documentation
HTTP external authentication Reference
Kerberos external authentication Reference
LDAP authentication and role mapping Configuration, Authenticator
X.509 certificate authentication User authentication, External authenticator

Interfaces and integrations

Unsupported capability Documentation
PostgreSQL wire-protocol interface Reference
SSH interface with PTY Reference
MaterializedPostgreSQL replication engine ClickPipes guide, Connector guide, Database engine, Table engine
ODBC table engine Reference
MinIO S3-compatible object-storage integration Guide
Tigris S3-compatible object-storage integration Guide

Database and table engines

Unsupported capability Documentation
MySQL database engine Reference
EmbeddedRocksDB table engine Reference
HDFS table engine Reference
Hive table engine Reference
JDBC table engine Reference
Redis table engine for federated queries Reference
SQLite table engine Reference
TimeSeries table engine Reference
YTsaurus table engine Reference
Log-family table engines (Log, StripeLog, and TinyLog) Family overview, Log, StripeLog, TinyLog

Dictionaries and server configuration

Unsupported capability Documentation
Named collections and the CREATE NAMED COLLECTION and ALTER NAMED COLLECTION statements Overview, Create, Alter
File-based dictionary configuration Reference
Embedded geobase dictionaries Reference
Local YAMLRegExpTree dictionary sources Layout guide, Source reference
YTsaurus dictionary source Reference
Japanese tokenizer dictionaries configured on the server Reference

Data formats and codecs

Unsupported capability Documentation
CapnProto format with server-side schema files Format reference, Guide
Protobuf, ProtobufList, and ProtobufSingle formats with server-side schema files Guide, ProtobufList, ProtobufSingle
Obsolete ZSTD_QAT and DEFLATE_QPL codecs ZSTD_QAT, DEFLATE_QPL

Functions and experimental features

Unsupported capability Documentation
Experimental natural-language processing functions Reference
Experimental multi-statement transactions with commit and rollback Guide
Experimental transaction introspection functions transactionID, transactionLatestSnapshot, transactionOldestSnapshot
Time-window functions Reference
WebAssembly user-defined functions Overview, Guide
Driver-based executable user-defined functions Reference
filesystem table function over server-local files Reference

Administration and access control

Unsupported capability Documentation
Column-statistics operations with ALTER TABLE Reference
User impersonation with EXECUTE AS Reference
Table-engine-specific grants Grant, Server setting
The GRANT ALL privilege shortcut Reference
Server shutdown with SYSTEM SHUTDOWN Reference
Starting and stopping background fetches with SYSTEM statements SYSTEM STOP FETCHES, SYSTEM START FETCHES
Starting and stopping background merges with SYSTEM statements SYSTEM STOP MERGES, SYSTEM START MERGES
Starting and stopping background TTL merges with SYSTEM statements SYSTEM STOP TTL MERGES, SYSTEM START TTL MERGES

Roadmap

We’re evaluating demand for many other features in ClickHouse Cloud. If you have feedback and would like to ask for a specific feature, please submit it here.

Navigation