Flexible deployment | Flexible deployment OSS self-managed + ClickHouse Cloud on GCP, AWS & Azure | |
---|
Query result cache for sub-second interactivity | Query result cache for sub-second interactivity Query result cache for interactive queries | Intermediate— Query result cache for sub-second interactivity Not used with streaming ingest |
---|
Real-time ingest | Real-time ingest <1s latency for streaming data | Intermediate— Real-time ingest ~1s latency with extra charges; not compatible with query cache |
---|
Lightweight updates / row-level mutation | Lightweight updates / row-level mutation Efficient row-level updates | Intermediate— Lightweight updates / row-level mutation Extra charges for changes; recently streamed data can’t be modified |
---|
High query concurrency1,000+ QPS per node | High query concurrency1,000+ QPS per node | High query concurrency1,000+ QPS per node Depends on slot allocation; queries may queue or be rejected |
---|
Shared-storage architecture with decoupled compute and storage | Shared-storage architecture with decoupled compute and storage Separation of compute and storage | Shared-storage architecture with decoupled compute and storage Separation of compute and storage |
---|
Stateless compute nodes | Stateless compute nodes Stateless compute nodes for fast scaling | Stateless compute nodes Stateless compute supported |
---|
Control over data ordering and co-location | Control over data ordering and co-location Full control over ordering & co-location | Control over data ordering and co-location Stores data sorted by clustering columns |
---|
Allows partitioning of data for data skipping | Allows partitioning of data for data skipping | Allows partitioning of data for data skipping |
---|
Distributes query execution across nodes | Distributes query execution across nodes Parallel replicas distribute workloads | Distributes query execution across nodes Shuffling across compute slots |
---|
Streaming ingestion support | Streaming ingestion support Native streaming ingestion | Streaming ingestion support Streaming supported (with extra charges) |
---|
Native semi-structured data type with type preservation | Native semi-structured data type with type preservation | Native semi-structured data type with type preservation JSON supported (but no row-level policies on JSON columns) |
---|
Row-level ingestion | Row-level ingestion Async inserts for small batches | Row-level ingestion Inserts supported (but invalidate query cache) |
---|
Auto-resume from idle | | Auto-resume from idle N/A (no concept of idling) |
---|
Vertical and horizontal scaling | Vertical and horizontal scaling Includes vertical scaling for high-memory queries | Vertical and horizontal scaling N/A (slots only; no user visibility) |
---|
Custom hardware profiles for priority workloads | Custom hardware profiles for priority workloads Custom hardware profiles supported | Custom hardware profiles for priority workloads |
---|
Manual resizing | | |
---|
Granular cache control | Granular cache control Predicate-level cache control (node + distributed) | |
---|
Control over elastic scaling and resources used | Control over elastic scaling and resources used Quotas, scaling limits, workload scheduling | Intermediate— Control over elastic scaling and resources used |
---|
High query concurrency per node | High query concurrency per node Up to 1,000 concurrent queries per node | Intermediate— High query concurrency per node Concurrency limited by reserved slots; low without large reservations |
---|
Elastic scalingUp/down with load | Elastic scalingUp/down with load Elastic scaling up/down with load | Elastic scalingUp/down with load Slots dynamically allocated |
---|
Compute compute separation | Compute compute separation Compute/storage separation | Compute compute separation Compute/storage separation |
---|
Distributed cache across warehouse | Distributed cache across warehouse Distributed cache across nodes | Distributed cache across warehouse Distributed cache supported |
---|
Dictionaries for dimension table acceleration | Dictionaries for dimension table acceleration Dictionary acceleration for dimension tables | Dictionaries for dimension table acceleration |
---|
Sub-second query latency at scale | Sub-second query latency at scale Sub-second latency at scale | Intermediate— Sub-second query latency at scale Hard to achieve; minimal latency typically 1–2s |
---|
High concurrency performance | High concurrency performance Up to 1,000 concurrent queries per node | Intermediate— High concurrency performance Concurrency limited by reserved slots; low without large reservations |
---|
Materialized view support | Materialized view support Incremental & refreshable with full SQL | Intermediate— Materialized view support |
---|
Native aggregate optimizationMerge states, projections | Native aggregate optimizationMerge states, projections Merge states & projections for fast aggregates | Intermediate— Native aggregate optimizationMerge states, projections Limited; only via materialized views |
---|
Compression efficiency | Compression efficiency 60% better compression in benchmarks | Intermediate— Compression efficiency Standard columnar compression |
---|
Vectorized query execution | Vectorized query execution Vectorized execution supported | Vectorized query execution Vectorized execution supported |
---|
Join performanceMulti-billion rows | Join performanceMulti-billion rows Efficient joins across billions of rows | Join performanceMulti-billion rows |
---|
Real-time analyticsExternal dashboards, product analytics, customer-facing applications | Real-time analyticsExternal dashboards, product analytics, customer-facing applications Real-time analytics with low latency | Intermediate— Real-time analyticsExternal dashboards, product analytics, customer-facing applications Limited by minimum latency and cost |
---|
ObservabilityLogs, metrics, traces | ObservabilityLogs, metrics, traces Native support via ClickStack | Intermediate— ObservabilityLogs, metrics, traces Charges for data writes make this expensive |
---|
Streaming / continuous data ingestion | Streaming / continuous data ingestion Continuous ingestion at scale | Intermediate— Streaming / continuous data ingestion |
---|
GenAI / LLM agentic workloads | GenAI / LLM agentic workloads Low-latency SQL over events | Intermediate— GenAI / LLM agentic workloads Minimum latency slows agentic responses |
---|
Internal analytics and operational dashboards | Internal analytics and operational dashboards Internal dashboards supported | Internal analytics and operational dashboards Internal dashboards supported |
---|
Vector search | | |
---|
File format support | File format support 70+ formats including Parquet, ORC, Avro, JSON, CSV | Intermediate— File format support Limited to common formats (Avro, CSV, JSON, ORC, Parquet) |
---|
External table engines | External table engines Connect to Postgres, MongoDB, MySQL, S3, Kafka, and more | |
---|
Query external data in-place | Query external data in-place Query in-place via table engines (e.g. Postgres, S3) | Intermediate— Query external data in-place BigLake on object storage only; supports Avro, CSV, Delta Lake, Iceberg, JSON, ORC, Parquet |
---|
Support for third-party catalogs | Support for third-party catalogs Third-party catalogs supported | Intermediate— Support for third-party catalogs |
---|
Change Data Capture (CDC) | Change Data Capture (CDC) ClickPipes CDC for MySQL and Postgres | Change Data Capture (CDC) |
---|
Support for open table formatse.g. Iceberg, Parquet, ORC | Support for open table formatse.g. Iceberg, Parquet, ORC | Support for open table formatse.g. Iceberg, Parquet, ORC |
---|