Doris
History
- Palo, Open source by Baidu in 2017
- Rename to Apache Doris in 2018
Related Products
Doris Architecture
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
Storage Model
- From Google Mesa
Google Mesa
- Designed for advertisement
- Pre-Aggregate model
Google Mesa
Mesa Updates
Mesa Compaction
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`)
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
- https://research.google.com/pubs/archive/42851.pdf
- https://doris.apache.org/zh-CN/docs/summary/basic-summary/
- https://tech.youzan.com/clickhouse-zai-you-zan-de-shi-jian-zhi-lu/
- https://www.infoq.cn/article/vxup94ub59ya*k0tnefe
- https://tech.meituan.com/2020/04/09/doris-in-meituan-waimai.html
- https://ericfu.me/from-mesa-to-doris/
- https://aws.amazon.com/blogs/database/z-order-indexing-for-multifaceted-queries-in-amazon-dynamodb-part-1/