History

  • Palo, Open source by Baidu in 2017
  • Rename to Apache Doris in 2018

Related Products


Doris Architecture

Inline


Doris Role

  • Frontend(FE)
    • User request access, query parsing and planning, metadata and node management
  • Backend(BE)
    • Storage and query plan execution

Storage Engine

  • Invert index
  • Bloom filter
  • MIN/MAX index
    • Filter equal or range query for numeric type
  • Z-order index
    • Range query on combined fields
  • Sorted compound key index

Query Engine

Inline


Storage Model

  • From Google Mesa

Google Mesa

  • Designed for advertisement
  • Pre-Aggregate model

Google Mesa

Inline


Mesa Updates

Inline


Mesa Compaction

Inline


Storage Model

  • Aggregate Key Model
  • Unique Key Model
  • Duplicate Key Model

https://doris.apache.org/zh-CN/docs/data-table/data-model/


Doris Rollup

Rollup must be based on Aggregate Table.

ALTER TABLE ads ADD ROLLUP `PublisherRollup` (`Date`, PublisherId, Clicks, `Cost`)

Inline


Doris Materialized View

Doris MV can be created based on Duplicate Table.

CREATE MATERIALIZED VIEW `PublisherMView` AS
SELECT `Date`, PublisherId, SUM(Clicks), SUM(`Cost`) FROM ads GROUP BY `Date`, PublisherId

References