Doris如何处理时序数据?

提问者:帅平 问题分类:数据库
Doris如何处理时序数据?
2 个回答
还有寂寞陪着我
还有寂寞陪着我
处理时序数据的方案主要有:
1、存储层使用时间分区与分桶,例如:
CREATE TABLE metrics (
    ts DATETIME,
    device_id BIGINT,
    value DOUBLE
)  
PARTITION BY RANGE(ts)(
    PARTITION p202308 VALUES [('2023-08-01'), ('2023-09-01'))
)  
DISTRIBUTED BY HASH(device_id) BUCKETS 32  
PROPERTIES ("storage_medium" = "SSD");
2、存储层使用Rollup提前预聚合
#按时间窗口预计算指标
ALTER TABLE metrics ADD ROLLUP r_5min (
    date_trunc(ts, 'MINUTE', 5),  -- 5分钟窗口
    device_id,
    SUM(value)
);
发布于:17小时前 IP属地:
岛是海碎了的心
岛是海碎了的心
3、查询时使用前缀索引优化时间范围查询
#将时间列放在排序键首位
ORDER BY (ts, device_id)  -- 时间列前置
发布于:17小时前 IP属地:
我来回答