Favicon of Apache Doris

Apache Doris

Apache Doris is an MPP analytical database for real-time reporting and ad-hoc analysis, speaking MySQL-compatible SQL over a Java front end and a C++ back end, and the project StarRocks was originally forked from.

LicenseOpen source (permissive)· Apache-2.0
DeploymentSelf-hostedManagedHybrid
PricingFreeSubscription
Operational complexityMedium
WorkloadInteractiveStreaming
LanguageJava, C++

Use it when

  • Real-time reporting and user-facing analytics need seconds-fresh data from Kafka or CDC with high query concurrency.
  • MySQL protocol compatibility matters: existing clients, drivers, and BI tools connect unchanged.
  • Updates are part of the workload; the merge-on-write Unique Key model gives real UPDATE and DELETE.
  • One engine should serve its own columnar store and also federate over Iceberg, Hive, Hudi, and Paimon.

Think twice when

  • You are also evaluating StarRocks; the projects share ancestry but have genuinely diverged, so benchmark your workload rather than assume parity.
  • The team cannot operate FE and BE node groups; VeloDB and SelectDB sell the managed relief.
  • Sub-second freshness at extreme per-user concurrency is the entire job; Pinot's indexing toolbox is purpose-built for exactly that.

How it runs

Self-hosted as Java front ends (metadata, planning, failover) over C++ back ends (storage, execution), each scaling horizontally; version 3.0 adds a shared-storage mode with local cache over object storage. Routine Load ingests from Kafka and CDC streams. Managed options come from VeloDB Cloud and SelectDB.

Details

Compare

How Apache Doris answers the questions OLAP Engines turns on.

OLAP Engines
How it works
SpecializationUnified real-time warehouse and lakehouse query federation
SQL dialectMySQL-compatible
JoinsDistributed joins, cost-based optimizer
Updates and deletesUnique Key model, merge-on-write; UPDATE, DELETE, partial columns
Ingest to queryableSeconds: second-level freshness from Kafka Routine Load and CDC
Storage formatOwn columnar; reads Iceberg, Hive, Hudi, Paimon; writes Iceberg and Hive
Compute and storageCoupled BE nodes; 3.0 adds shared storage with local cache
IndexesPrefix and ZoneMap built in; inverted, Bloom and NGram optional
Pre-aggregationAggregate Key model at write; sync and async materialized views
Running it
Concurrent usersHigh: row store and short-circuit plans for point-query serving

Share:

Alternatives to Apache Doris

Favicon

 

  
  
Favicon

 

  
  
Favicon