Apache Doris
activeby Apache Software Foundation · since 2017 · also known as Doris, Palo
Real-time MPP analytical database with MySQL compatibility, search indexes and lakehouse access.
Overview
Apache Doris began as Baidu's Palo and is now an Apache top-level project: an MPP columnar database with a vectorized C++ engine, MySQL protocol compatibility and a simple two-component architecture (frontend and backend). It handles real-time ingestion with unique-key upserts, inverted indexes for log search, the VARIANT type for semi-structured data, vector indexes, and federated queries over Iceberg, Hudi, Paimon and Hive. A compute-storage separated mode runs on object storage. Doris overlaps heavily with StarRocks and ClickHouse; it is a good fit for real-time reporting and log analytics, with documentation and community still skewed toward China.
Strengths & trade-offs
Strengths
- +Simple architecture: just frontend and backend processes, no external coordinator
- +Inverted indexes and VARIANT type make it a credible log-analytics engine
- +Real-time upserts with unique-key model and partial column updates
- +Federated queries across Iceberg, Hudi, Paimon, Hive and JDBC sources
- +MySQL compatibility for tools and drivers
Trade-offs
- −Feature overlap and divergence with StarRocks confuses evaluations
- −English docs and community are thinner than Chinese ones
- −MySQL-dialect SQL rather than ANSI/Postgres
- −Tuning bucketing and partitioning is still manual
Great for
- +Real-time reporting and dashboards
- +Log and observability analytics
- +Lakehouse query acceleration
- +User behavior and ad analytics
Think twice for
- −OLTP
- −Very small embedded analytics
- −Teams needing a fully managed hyperscaler-native service
Capabilities
Native or official first-party support · 14 of 25 tracked
Scale & consistency
- Comfortable data size
- Large · ≤ 1 PB
- Horizontal scaling
- Native
- Multi-region
- No
- Transactions
- Limited ACID
- Consistency
- Strong
- Schema
- Flexible
- Architecture
- Distributed, Shared storage
- Query languages
- SQL (MySQL dialect)
FE and BE nodes scale out; storage-compute separation mode stores data on object storage.
Deployment
Ecosystem
Alternatives to Apache Doris
MPP OLAP database with a fast vectorized engine, real-time upserts and native lakehouse queries.
apache-doris vs starrocks →Open-source columnar OLAP database known for very fast aggregations over billions of rows.
apache-doris vs clickhouse →Commercial cloud and enterprise distribution of Apache Doris from its core maintainers.
apache-doris vs velodb →Real-time analytics database for sub-second slice-and-dice over streaming event data.
apache-doris vs apache-druid →Real-time OLAP store from LinkedIn for user-facing analytics at very high query rates.
apache-doris vs apache-pinot →Lucene-based distributed search and analytics engine for text, vectors, logs and metrics.
apache-doris vs elasticsearch →Apache Doris FAQ
What is Apache Doris?
Apache Doris is a columnar / OLAP database by Apache Software Foundation, first released in 2017. Apache Doris began as Baidu's Palo and is now an Apache top-level project: an MPP columnar database with a vectorized C++ engine, MySQL protocol compatibility and a simple two-component architecture (frontend and backend). It handles real-time ingestion with unique-key upserts, inverted indexes for log search, the VARIANT type for semi-structured data, vector indexes, and federated queries over Iceberg, Hudi, Paimon and Hive. A compute-storage separated mode runs on object storage. Doris overlaps heavily with StarRocks and ClickHouse; it is a good fit for real-time reporting and log analytics, with documentation and community still skewed toward China.
Is Apache Doris open source?
Yes. Apache Doris is open source. License: Apache License 2.0.
Does Apache Doris support ACID transactions?
Partly. Apache Doris offers limited ACID guarantees (for example, single-record or single-partition transactions), with strong consistency.
Does Apache Doris scale horizontally?
Apache Doris scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at large scale (≤ 1 PB).
How can I run Apache Doris?
You can self-host it. Managed offerings include VeloDB Cloud.
What is Apache Doris best for?
Apache Doris is a strong fit for real-time reporting and dashboards; log and observability analytics; and lakehouse query acceleration. Think twice for OLTP.
What are the best alternatives to Apache Doris?
Common alternatives to Apache Doris include StarRocks, ClickHouse, VeloDB, Apache Druid and Apache Pinot. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is Apache Doris?
Apache Doris ranks #201 of 844 databases on the WhichDB Score (15.9/100), and #21 among columnar / OLAP databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.