~/tools/apache-doris
tool

Apache Doris

Apache Doris is an open source real-time MPP analytics database (OLAP) you can self-host — a Snowflake, BigQuery, and Redshift alternative that runs sub-second SQL queries over billions of rows and queries data lake tables in place.

What is Apache Doris?

Apache Doris is an open source, real-time analytics database (OLAP) built on a massively parallel processing (MPP) architecture. It runs standard SQL over billions of rows with sub-second latency, ingests streaming data from Kafka and change-data-capture sources within seconds, and speaks the MySQL wire protocol so existing clients and BI tools connect without new drivers.

What is Apache Doris best for?

Apache Doris fits teams that need fast, interactive analytics on fresh data — customer-facing dashboards, real-time reporting, log and metrics observability, and ad-hoc SQL across large tables. It suits organizations that want an in-house, cost-efficient alternative to a cloud data warehouse and are comfortable running a small distributed cluster rather than a single server.

What can Apache Doris do?

  • Run sub-second aggregate and join queries over billions of rows using an MPP engine with a cost-based optimizer.
  • Ingest streaming data from Kafka, Pulsar, and database CDC with second-level freshness, plus support real-time upserts and partial-column updates.
  • Query data lake tables — Apache Iceberg, Delta Lake, and Hudi — directly, without copying data into Doris.
  • Serve as a data warehouse with primary-key, aggregate, and duplicate table models for different workloads.
  • Combine JSON analytics, BM25 full-text search, and vector search (HNSW/IVF indexes) in one SQL interface.
  • Connect to MySQL-compatible clients and BI tools like Apache Superset and Metabase out of the box.
  • Scale online with automatic load balancing and, in decoupled mode, separate compute from shared object storage.

Where does Apache Doris fall short?

  • It is a multi-component cluster (separate FE metadata/coordinator and BE storage/execution nodes), not a single binary. A production setup typically wants three FE and three BE nodes for high availability, so it is heavier to stand up than a single-server database.
  • It is built for analytical reads, not as a transactional (OLTP) system — it is a poor fit for high-frequency single-row writes and point updates that a Postgres or MySQL handles better.
  • Compared with ClickHouse, Doris has a smaller community and less mature third-party ecosystem tooling, and ClickHouse still leads on raw single-table scan throughput.

Is Apache Doris free?

Yes. Apache Doris is fully open source under the Apache License 2.0, free to self-host with no paid tier or feature gate. A commercial managed cloud, VeloDB, is offered separately by the company behind Doris for teams that prefer not to run the cluster themselves, but the project itself carries no licensing cost.

What does Apache Doris replace?

Apache Doris is used as a self-hosted alternative to cloud data warehouses and analytics platforms — Snowflake, Google BigQuery, Amazon Redshift, and Databricks. It targets the real-time and customer-facing analytics workloads those services run, typically at a fraction of the compute cost. It is also frequently compared to ClickHouse and StarRocks, which are open source OLAP engines rather than paid products.

FAQ

Is Apache Doris open source? Yes. It is a top-level Apache Software Foundation project released under the Apache License 2.0, with source on GitHub and no proprietary edition of the core database.

Can I self-host Apache Doris for free? Yes. Self-hosting is free with no license cost. You run the frontend (FE) and backend (BE) processes on your own servers or Kubernetes; the optional VeloDB managed cloud is the only paid path.

Is Apache Doris a good Snowflake or BigQuery alternative? For real-time and interactive analytics it is a strong one — it delivers sub-second SQL and streaming ingestion at a small fraction of typical cloud-warehouse cost, provided you can operate a distributed cluster in-house.

What do I need to run Apache Doris? A Linux cluster with the frontend (Java, JDK 8+) and backend (C++) components; the backend wants roughly 16GB+ RAM per node and the frontend 8GB+ heap in production, ideally three of each with a 10GbE network for high availability.