实时物化视图: 加速大规模时间序列数据查询的利器 炎凰数据彭江涛 2023.06.10 1 目录 01 2 为什么 02是什么 03怎么做 04展望和总结 数据采集 数据存储 引言 数据分析 数据价值 https://www.raconteur.net/infographics/a-day-in-data/ 分析->查询->加速 缓存充分利用计算资源 (并行计算、分布式计算) 减少扫描的数据量 (数据分区、索引) 预计算 目录 01 5 为什么 02是什么 03怎么做 04展望和总结 物化视图 预先计算�常用的耗时或复杂查询的结果集 以便查询时能够快速访问和使用这些预先计算的结果 读取 计算 OrderTime ItemID OrderID price number T1 ID1 OID1 500 2 T2 ID2 OID2 300 4 T3 ID3 OID3 400 7 T4 ID3 OID4 350 1 T5 ID1 OID5 500 2 T6 ID1 OID6 450 3 … 每个商品的总销售额 ItemID SUM(price*number) ID1 3350 ID2 1200 ID3 3150 读取 读取=>预计算存储 实时场景 实时场景数据 Append-only几乎不变 持续增长 时间序列数据 时间 持续更新 ∞ 物化数据 7 时间序列实时物化视图关键点 存储 •存储结构 •索引 •压缩 更新 •定期更新 •事件驱动更新 •增量更新 预计算 •增量更新下的预计算 目录 01 9 为什么 02是什么 03怎么做 04展望和总结 数据分片 时间序列原始数据 分片i 分片j 当前∞ 时间 分片j+1 物化数据 分片规则: 导入时间范围 累积数据数量 标签信息 预计算 物化数据 分片i 分片j ∞ 时间 Map Reduce Map Reduce Map 输出数据 输入数据 查询结果再聚合 预计算 物化数据 OrderID price ID1 500 ID2 800 ID3 600 ID4 600 ① 分片i ①② 查询结果再聚合③ 分片j ∞ 时间 AVG(price) SUM(price) COUNT(price) 2500 4 ③ (2500+3000)➗(4+5) SUM(SUM(price))➗ SUM(COUNT(price)) SUM(price) COUNT(price) 3000 5 ② 12 保留数据的时间性——数据分桶 物化数据 ∞ 分片m时间 SUM(price) count(price) 2500 6 OrderTime price 2023-06-1010:03:12 500 2023-06-1010:13:27 300 2023-06-1010:22:06 400 2023-06-1010:38:23 350 2023-06-1011:01:14 500 2023-06-1011:47:56 450 … TimeBucket SUM(price) count(price) 2023-06-1010:00:00 1550 4 2023-06-1011:00:00 950 2 桶大小1小时 保留数据的时间性——数据分桶 ∞ 物化数据时间 期望AVG(price) 预计算 SUM(price),COUNT(price) GROUPBYtime_bucket 最终结果再聚合 SUM(SUM(price))/SUM(COUNT(price)) 查询(适应任何时间窗口) 原始数据分片1 原始数据分片2 原始数据分片3 原始数据分片4 原始数据分片5 原始数据分片6 原始数据分片7 正在导入数据 T1T2 查询结果集时间 P4P1P2 物化分片1 物化分片2 物化分片3 物化分片4 物化分片5 物化分片6 物化分片7 查询(适应任何时间窗口) 原始数据分片1 原始数据分片2 原始数据分片3 原始数据分片4 原始数据分片5 原始数据分片6 原始数据分片7 正在导入数据 时间分桶1h 10:00 12:00 T1 11:22 14:00 T2 查询结果集时间 P1 P4P2 物化分片1 物化分片2 物化分片3 物化分片4 物化分片5 物化分片6 物化分片7 P2 P1 P3 P4 预计算 P4 P2 查询(适应任何时间窗口) P3 P1 再聚合 查询结果 SQL 查询加速仪表板加速 炎凰产品演示 炎凰产品演示 炎凰产品演示 炎凰产品演示 炎凰产品演示 性能 1亿条数据/天1000个slice 45 40 35 30 25 20 15 10 5 0 原始数据 分桶大小为1h的物化视图 分桶大小为1天的物化视图 查询时间(s) 存储大小(M/Slice) 查询今天每个数据集被使用的次数 40 15 1.20.0011 10.0011 目录 25 01引言 02是什么 03怎么做 04总结和展望 扩展 智能路由 分层物化 另一种ETL 总结 保留时间性 数据⼀致性 存储开销维护成本 27 Q&A hello@yanhuangdata.comwww.yanhuangdata.com