See Rockset
in action

Get a product tour with a Rockset engineer

StarRocks vs ClickHouse

Compare and contrast StarRocks and ClickHouse by architecture, ingestion, queries, performance, and scalability.

Compare StarRocks to Rockset here

Compare ClickHouse to Rockset here

StarRocks vs ClickHouse Architecture

Architecture
StarRocks
ClickHouse
Deployment model
PaaS or self managed
• Self-managed on-premises or on cloud infrastructure • Several managed cloud services available
Use of storage hierarchy
Data is stored on disk and in memory
• Designed to use hard disk drives for storage • Can also use SSD if available
Isolation of ingest and query
No, but you can limit resources for ingestion and querying separately
No
Separation of compute and storage
No, but StarRocks supports nodes that don't store data locally
No - although ClickHouse Cloud decouples compute and cloud storage
Isolation for multiple applications
No
No

StarRocks is a high-performance OLAP database that can be deployed on the cloud or self managed. StarRocks does not separate compute and storage and offers limited options for resource isolation. It offers a robust set of features and high performance but requires considerable expertise to operate and scale.

ClickHouse is open source and can be deployed anywhere. Several vendors such as ClickHouse, the company, and Tinybird also offer cloud versions. Compute and storage are tightly coupled, although ClickHouse Cloud was rearchitected to decouple compute and storage. ClickHouse Cloud pricing is based on compute and storage usage.


StarRocks vs ClickHouse Ingestion

Ingestion
StarRocks
ClickHouse
Data sources
Streaming • Kafka • Flink Data lakes • HDFS compatible • Cloud storage
• Core integrations for ingestion from Kafka, S3, Google Cloud Storage • Other partner and community integrations available
Semi structured data
Supports columns with JSON data • Does not support mixed-type columns • Support for star and snowflake schemas
• JSON Object type for handling nested JSON • Automatically infers schema from a subset of rows
Transformations and rollups
Yes, via materialized views
Yes - several storage engines can pre-aggregate data

StarRocks ingests data from a variety of sources, including both batch and streaming data. StarRocks can ingest nested JSON data, but enforces type at the column level.

ClickHouse has core integrations from common sources such as Kafka and S3. It recently introduced greater ability to handle semi-structured data using the JSON Object type and automatic schema inference.

StarRocks vs ClickHouse Performance

Performance
StarRocks
ClickHouse
Updates
While StarRocks is mutable, the update rate is slow, which is why it is most often used for append-only workloads
• Writes to immutable files • Updates rewrite and merge data files asynchronously • Frequent updates are not recommended due to potential for large rewrites
Indexing
Columnar index, limited support for inverted indexes
• Primary indexes use sparse indexing on data ordered by primary key • Secondary data skipping indexes
Query latency
50-1000ms queries on 100s of TB
Sub-100ms to seconds, optimized for large-scale aggregations
Storage format
• StarRocks is a columnstore that organizes data into prefix indexes, per-column data blocks, and per-column indexes • All data is replicated 3 times to achieve both fault-tolerance and concurrency
• Column-oriented • Heavily compressed to minimize storage footprint
Streaming ingest
Data latency is typically 1-2 seconds
Recommends inserting in batches of >1000 rows and <1 insert per second

StarRocks was purpose-built for high-performance ingest, low-latency queries, and high concurrency. Optimized performance requires significant manual tuning.

ClickHouse leverages column orientation and heavy compression for better performance on analytics workloads. It also uses indexing to accelerate queries as well. While ClickHouse use cases often involve streaming data from Kafka, batching data is recommended for efficient ingestion.


StarRocks vs ClickHouse Queries

Queries
StarRocks
ClickHouse
Joins
Multi-table join support
Yes
Query language
SQL
SQL
Developer tooling
Minimal
• API for querying SQL via POST command • Python, Java, Node.js and Go language clients
Visualization tools
Compatibility with MySQL protocols enables StarRocks to work with BI tools
Integrations with Metabase, Superset, Grafana, Tableau, Deepnote and Rocket BI

StarRocks uses a high-performance vectorized SQL engine, a custom-built cost-based optimizer, and has support for materialized views.

ClickHouse uses SQL for querying, with support for SQL joins. ClickHouse integrates with some common tools for visual analytics, including Superset, Grafana and Tableau.


StarRocks vs ClickHouse Scalability

Scalability
StarRocks
ClickHouse
Vertical scaling
• Both frontend and backend nodes can be manually resized
Scale up single-node ClickHouse for vertical scaling
Horizontal scaling
• Both frontend and backend nodes can be manually scaled horizontally
• Compute and storage scaled in lockstep • Data rebalanced to populate newly added nodes • Cloud offerings automate some of the scaling and rebalancing effort

StarRocks can scale up or out, but its tightly coupled compute and storage scale together for performance. This often results in resource contention and overprovisioning. Scaling StarRocks often requires deep expertise as there are many levels of the system that need to be managed.

ClickHouse can be used in both single-node and distributed modes. Tight coupling of compute and storage and the need to rebalance data make scaling out more complex, but cloud versions of ClickHouse help automate this process.