Convert Figma logo to code with AI

apache logodoris

Apache Doris is a real-time analytics and hybrid search database for AI agents.

15,865
3,935
15,865
1,264

Top Related Projects

14,095

Apache Druid: a high performance real-time analytics database.

6,121

Apache Pinot - A realtime distributed OLAP datastore

ClickHouse® is a real-time analytics database management system

12,081

The world's fastest open query engine for sub-second analytics both on and off the data lakehouse. With the flexibility to support nearly any scenario, StarRocks provides best-in-class performance for multi-dimensional analytics, real-time analytics, and ad-hoc queries. A Linux Foundation project.

3,772

Apache Kylin

13,059

Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)

Quick Overview

Apache Doris is an open-source, high-performance analytical database system that provides real-time data warehousing and analytics capabilities. It is designed to handle large-scale data processing and querying with low latency, making it suitable for various business intelligence and data analysis scenarios.

Pros

  • High performance and low latency for analytical queries
  • Scalable and distributed architecture for handling large datasets
  • SQL-compatible, making it easy for users familiar with SQL to adopt
  • Supports real-time data ingestion and updates

Cons

  • Relatively new compared to some established data warehousing solutions
  • Limited ecosystem and third-party tool integration compared to more mature platforms
  • Steeper learning curve for advanced features and optimizations
  • Documentation can be incomplete or outdated in some areas

Getting Started

To get started with Apache Doris, follow these steps:

  1. Download the latest release from the official Apache Doris website.
  2. Extract the downloaded package:
    tar -xzf apache-doris-x.x.x.tar.gz
    
  3. Set up the configuration files in the conf directory.
  4. Start the Doris cluster:
    ./bin/start_fe.sh
    ./bin/start_be.sh
    
  5. Connect to Doris using a MySQL client:
    mysql -h <fe_host> -P <query_port> -u root
    
  6. Create a database and table:
    CREATE DATABASE example_db;
    USE example_db;
    CREATE TABLE example_table (
      id INT,
      name VARCHAR(50),
      value DOUBLE
    ) ENGINE=OLAP
    DISTRIBUTED BY HASH(id) BUCKETS 10;
    
  7. Load data into the table:
    LOAD LABEL example_db.label1
    (
      DATA INFILE("hdfs://your-hdfs-path/example_data.csv")
      INTO TABLE example_table
      COLUMNS TERMINATED BY ","
    );
    

For more detailed instructions and advanced usage, refer to the official Apache Doris documentation.

Competitor Comparisons

14,095

Apache Druid: a high performance real-time analytics database.

Pros of Druid

  • Highly scalable and designed for real-time analytics on large datasets
  • Supports sub-second query latency for complex aggregations
  • Offers a rich set of built-in aggregators and post-aggregators

Cons of Druid

  • Steeper learning curve and more complex setup compared to Doris
  • Limited support for SQL-like queries, focusing more on specialized query language
  • Higher resource requirements for optimal performance

Code Comparison

Druid query example:

{
  "queryType": "timeseries",
  "dataSource": "sample_data",
  "granularity": "day",
  "aggregations": [
    { "type": "longSum", "name": "total_sales", "fieldName": "sales" }
  ],
  "intervals": ["2023-01-01/2023-12-31"]
}

Doris query example:

SELECT DATE_TRUNC('day', event_time) AS day,
       SUM(sales) AS total_sales
FROM sample_data
WHERE event_time BETWEEN '2023-01-01' AND '2023-12-31'
GROUP BY 1
ORDER BY 1;

Both Druid and Doris are powerful analytics databases, but they cater to different use cases. Druid excels in real-time analytics and complex aggregations, while Doris offers a more familiar SQL interface and easier setup. The choice between them depends on specific project requirements and team expertise.

6,121

Apache Pinot - A realtime distributed OLAP datastore

Pros of Pinot

  • Better suited for real-time analytics with low-latency queries
  • Supports a wider range of data ingestion methods, including streaming
  • More flexible schema design and data modeling capabilities

Cons of Pinot

  • Higher complexity in setup and maintenance
  • Less mature ecosystem compared to Doris
  • Steeper learning curve for new users

Code Comparison

Pinot query example:

SELECT COUNT(*) FROM myTable
WHERE timeColumn BETWEEN 1589980800000 AND 1589984400000
GROUP BY dimension1, dimension2
LIMIT 10

Doris query example:

SELECT COUNT(*) FROM myTable
WHERE timeColumn BETWEEN '2020-05-20 10:00:00' AND '2020-05-20 11:00:00'
GROUP BY dimension1, dimension2
LIMIT 10

Both systems use SQL-like syntax for querying, but Pinot often uses millisecond timestamps, while Doris typically uses datetime strings. Pinot's query language also includes some additional features for real-time analytics that may not be present in Doris.

Overall, Pinot excels in real-time analytics scenarios with its focus on low-latency queries and streaming data ingestion. Doris, on the other hand, offers a more straightforward setup and may be easier for teams already familiar with traditional data warehousing concepts. The choice between the two depends on specific use cases and team expertise.

ClickHouse® is a real-time analytics database management system

Pros of ClickHouse

  • Extremely fast query performance, especially for analytical workloads
  • Highly scalable and can handle petabytes of data efficiently
  • Rich set of built-in functions and features for data analysis

Cons of ClickHouse

  • Steeper learning curve due to its unique query language and architecture
  • Limited support for real-time updates and deletes
  • Less mature ecosystem compared to some other database systems

Code Comparison

ClickHouse query example:

SELECT
    toYear(date) AS year,
    sum(revenue) AS total_revenue
FROM sales
GROUP BY year
ORDER BY year

Doris query example:

SELECT
    year(date) AS year,
    sum(revenue) AS total_revenue
FROM sales
GROUP BY year
ORDER BY year

Both ClickHouse and Doris are columnar databases designed for analytical workloads, but they have different query syntaxes and optimizations. ClickHouse often uses custom functions like toYear(), while Doris tends to use more standard SQL functions. Both systems aim to provide fast query performance and scalability for large datasets, but ClickHouse is generally considered to have an edge in raw performance for certain types of analytical queries.

12,081

The world's fastest open query engine for sub-second analytics both on and off the data lakehouse. With the flexibility to support nearly any scenario, StarRocks provides best-in-class performance for multi-dimensional analytics, real-time analytics, and ad-hoc queries. A Linux Foundation project.

Pros of StarRocks

  • Higher query performance, especially for complex analytical queries
  • More advanced vectorized execution engine
  • Better support for real-time analytics and streaming data ingestion

Cons of StarRocks

  • Smaller community and ecosystem compared to Doris
  • Less mature documentation and learning resources
  • Fewer integrations with other data tools and platforms

Code Comparison

StarRocks query example:

SELECT user_id, COUNT(*) as order_count
FROM orders
WHERE order_date >= '2023-01-01'
GROUP BY user_id
HAVING order_count > 5
ORDER BY order_count DESC
LIMIT 10;

Doris query example:

SELECT user_id, COUNT(*) as order_count
FROM orders
WHERE order_date >= '2023-01-01'
GROUP BY user_id
HAVING order_count > 5
ORDER BY order_count DESC
LIMIT 10;

Both StarRocks and Doris use similar SQL syntax for querying data. The main differences lie in their internal processing and optimization techniques rather than the query language itself. StarRocks may execute this query faster due to its advanced vectorized execution engine, especially for large datasets or complex joins.

3,772

Apache Kylin

Pros of Kylin

  • Mature OLAP solution with a longer history and wider adoption
  • Strong support for multidimensional analysis and cube-based queries
  • Integration with various Hadoop ecosystem components

Cons of Kylin

  • Higher complexity in setup and maintenance
  • Longer query latency for non-cube queries
  • Limited support for real-time data ingestion

Code Comparison

Kylin query example:

SELECT year, SUM(price) AS total_price
FROM sales_fact
JOIN date_dim ON sales_fact.date_key = date_dim.date_key
GROUP BY year

Doris query example:

SELECT year, SUM(price) AS total_price
FROM sales_fact
GROUP BY year

Both systems support SQL queries, but Kylin often requires pre-built cubes for optimal performance, while Doris can handle ad-hoc queries more efficiently.

Kylin excels in scenarios with predefined, complex OLAP queries on large datasets, particularly when integrated with Hadoop ecosystems. Doris, on the other hand, offers more flexibility for real-time analytics and ad-hoc queries, with a simpler architecture that's easier to deploy and maintain.

While Kylin provides powerful multidimensional analysis capabilities, Doris focuses on delivering low-latency queries and real-time data ingestion, making it more suitable for scenarios requiring frequent updates and fast query responses.

13,059

Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)

Pros of Trino

  • Broader ecosystem support with connectors for various data sources
  • More mature project with a larger community and extensive documentation
  • Better performance for complex queries across multiple data sources

Cons of Trino

  • Higher resource requirements, especially for memory
  • Steeper learning curve due to more complex architecture
  • Less optimized for OLAP workloads compared to Doris

Code Comparison

Trino SQL query:

SELECT customer_name, SUM(order_total)
FROM orders
JOIN customers ON orders.customer_id = customers.id
GROUP BY customer_name
HAVING SUM(order_total) > 1000

Doris SQL query:

SELECT customer_name, SUM(order_total)
FROM orders
JOIN customers ON orders.customer_id = customers.id
GROUP BY customer_name
HAVING SUM(order_total) > 1000

The SQL syntax for both Trino and Doris is similar in this example, as they both support standard SQL. However, the underlying execution and optimization strategies differ, with Doris being more optimized for OLAP workloads and Trino excelling in federated queries across multiple data sources.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

🌍 Read this in other language

English • العربية • বাংলা • Deutsch • Español • فارسی • Français • हिन्दी • Bahasa Indonesia • Italiano • 日本語 • 한국어 • Polski • Português • Română • Русский • Slovenščina • ไทย • Türkçe • Українська • Tiếng Việt • 简体中文 • 繁體中文

Apache Doris

License GitHub release Slack EN doc CN doc

Official Website Quick Download

     

apache%2Fdoris | Trendshift

Apache Doris is an open-source, real-time analytics and search database built on MPP architecture. It provides fast SQL analytics, lakehouse query acceleration, and hybrid search across structured, text, and vector data.

Explore the official website for the latest product overview, use cases, ecosystem updates, blogs, and user stories. For version updates, see all release notes.

📈 Use Cases

Use CaseWhat it provides
Customer-Facing AnalyticsShip sub-second interactive analytics to external users.
Data WarehousingBuild one real-time warehouse across business domains.
ObservabilityAnalyze high-throughput logs, events, and metrics with SQL.
Doris for AIUse vector, text, JSON, and structured search in one SQL engine.

🚀 Core Capabilities

Apache Doris is built around three core capabilities. The website is the source of truth for detailed product descriptions and examples.

CapabilityWhat it provides
Real-Time AnalyticsStreaming ingestion, incremental transformation, and sub-second queries under high concurrency.
Lakehouse AnalyticsFast SQL analytics over open table formats such as Iceberg, Delta Lake, and Hudi.
Hybrid SearchSQL-native analytics across JSON, full-text, and vector data for AI and search workloads.

🔌 Ecosystem

Doris sits at the center of the modern data stack. It connects upstream databases, streaming systems, and lakehouse storage with downstream BI, AI, analytics, and observability tools.

Apache Doris ecosystem

For the latest ecosystem coverage, visit the official website and the connection and integration documentation.

👣 Get Started

🧱 Architecture

Apache Doris supports both compute-storage coupled and compute-storage decoupled deployments. In decoupled mode, stateless compute groups run over shared object storage, so you can scale compute on demand and isolate workloads.

Apache Doris compute-storage decoupled architecture

Learn more in the deployment guide and deployment mode guide.

📣 Project Updates

ResourceWhat it provides
Community ReportWeekly updates on community activity, merged PRs, contributors, and feature progress.
Roadmap 2026The 2026 planning discussion for AI and hybrid search, query engine, storage, and data lake work.

🧩 Components

Doris provides connectors and tools for common data engineering workflows.

👨‍👩‍👧‍👦 Users

Apache Doris is used in production by thousands of companies worldwide across internet services, finance, retail, logistics, manufacturing, energy, telecommunications, AI, and other industries.

🙌 Contributors

Apache Doris graduated from the Apache Incubator and became an Apache Top-Level Project in June 2022. Thanks to all community contributors who help build Doris.

contrib graph

🌈 Community and Support

💬 Contact Us

🧰 Links

📜 License

Apache License, Version 2.0

Note Some licenses of the third-party dependencies are not compatible with Apache 2.0 License. So you need to disable some Doris features to comply with Apache 2.0 License. For details, refer to the thirdparty/LICENSE.txt