StarRocks

active

by StarRocks (Linux Foundation; CelerData) · since 2020

MPP OLAP database with a fast vectorized engine, real-time upserts and native lakehouse queries.

columnar / olaprelationaldocumentvectordatabase engineopen source (permissive)growing

Overview

StarRocks is an open-source MPP analytical database (a 2020 fork of Apache Doris, now a Linux Foundation project) with a C++ vectorized engine and a cost-based optimizer that handles multi-table joins well. It serves both its own primary-key tables, which support real-time upserts from Kafka or Flink, and external Iceberg, Hudi, Delta and Hive tables directly, with async materialized views that transparently rewrite queries. Shared-data mode stores data on object storage with local caching. It is a strong pick for joins-heavy, high-concurrency analytics; the frontend/backend architecture and MySQL-flavoured SQL take some getting used to.

Strengths & trade-offs

Strengths

  • +Cost-based optimizer handles star and snowflake joins at interactive speed
  • +Primary-key tables support real-time upserts and deletes
  • +Queries Iceberg, Hudi, Delta and Hive tables in place with caching
  • +Async materialized views with automatic query rewrite
  • +MySQL protocol works with existing BI tools and clients

Trade-offs

  • −FE/BE/CN architecture adds operational components
  • −MySQL-flavoured SQL differs from ANSI/Postgres in places
  • −Smaller global community than ClickHouse; much activity is China-based
  • −Frequent major releases require upgrade planning

Great for

  • +Real-time dashboards with joins
  • +Lakehouse query acceleration over Iceberg
  • +Customer-facing analytics
  • +Replacing pre-aggregated cubes

Think twice for

  • −OLTP
  • −Tiny single-node workloads
  • −Document or key-value access patterns

Capabilities

Native or official first-party support · 13 of 25 tracked

✓Joins
✓Secondary indexes
✓Full-text search
✓Vector search
✓JSON
✓Materialized views
✓TTL / expiry
✓Columnar storage
✓Durable persistence
✓Compression
✓Role-based access
✓Online schema changes
✓Streaming ingest
–Transactions
–Geospatial
–Change data capture
–Triggers
–Stored procedures
–Pub/Sub
–In-memory
–Encryption at rest
–Time travel
–Branching
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Large · ≤ 1 PB
Horizontal scaling
Native
Multi-region
No
Transactions
Limited ACID
Consistency
Strong
Schema
Strict
Architecture
Distributed, Shared storage
Query languages
SQL (MySQL dialect)

Frontend (FE) and backend/compute nodes scale out; shared-data mode puts storage on S3 with elastic compute.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

compatible withMySQL
apis & protocolsMySQL wire protocol, HTTP Stream Load, Arrow Flight SQL
client languagesJava, Python, Go, JavaScript, C++
used byAirbnb, Pinterest, Tencent

Alternatives to StarRocks

Compare all→
Apache DorisColumnar / OLAP15.9

Real-time MPP analytical database with MySQL compatibility, search indexes and lakehouse access.

starrocks vs apache-doris →
ClickHouseColumnar / OLAP69.8

Open-source columnar OLAP database known for very fast aggregations over billions of rows.

starrocks vs clickhouse →
Apache PinotColumnar / OLAP29.9

Real-time OLAP store from LinkedIn for user-facing analytics at very high query rates.

starrocks vs apache-pinot →
Apache DruidColumnar / OLAP35.0

Real-time analytics database for sub-second slice-and-dice over streaming event data.

starrocks vs apache-druid →
TrinoRelational49.9

Fast distributed SQL query engine for federated analytics across lakes and databases.

starrocks vs trino →
VeloDBColumnar / OLAP2.3

Commercial cloud and enterprise distribution of Apache Doris from its core maintainers.

starrocks vs velodb →

StarRocks FAQ

What is StarRocks?

StarRocks is a columnar / OLAP database by StarRocks (Linux Foundation; CelerData), first released in 2020. StarRocks is an open-source MPP analytical database (a 2020 fork of Apache Doris, now a Linux Foundation project) with a C++ vectorized engine and a cost-based optimizer that handles multi-table joins well. It serves both its own primary-key tables, which support real-time upserts from Kafka or Flink, and external Iceberg, Hudi, Delta and Hive tables directly, with async materialized views that transparently rewrite queries. Shared-data mode stores data on object storage with local caching. It is a strong pick for joins-heavy, high-concurrency analytics; the frontend/backend architecture and MySQL-flavoured SQL take some getting used to.

Is StarRocks open source?

Yes. StarRocks is open source. License: Apache License 2.0.

Does StarRocks support ACID transactions?

Partly. StarRocks offers limited ACID guarantees (for example, single-record or single-partition transactions), with strong consistency.

Does StarRocks scale horizontally?

StarRocks scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at large scale (≤ 1 PB).

How can I run StarRocks?

You can self-host it. Managed offerings include CelerData Cloud.

What is StarRocks best for?

StarRocks is a strong fit for real-time dashboards with joins, lakehouse query acceleration over Iceberg and customer-facing analytics. Think twice for OLTP.

What are the best alternatives to StarRocks?

Common alternatives to StarRocks include Apache Doris, ClickHouse, Apache Pinot, Apache Druid and Trino. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is StarRocks?

StarRocks ranks #210 of 844 databases on the WhichDB Score (15.6/100), and #22 among columnar / OLAP databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.