跳到主要内容
跳到主要内容

存算分离使用场景

使用场景

实时分析

10s~分钟级实时场景,支持复杂的 sql 查询,维表关联,但无法达到毫秒级延迟

即席分析

宽表查询,多表关联的即席分析,可以做到秒级别响应,如果应对高并发需要资源较多

高并发点查

单节点支持几万并发,限制是限于 key 值范围查询条件

日志搜索

对文本搜索,字段精确匹配,范围查询等,对于按照权重查询的场景暂不支持

数据湖分析

应对即席分析,无法保证查询效率,相比 trino/presto 有 3~5 倍提升

数据加工

支持轻量级的数据 ETL,但对于超过可用内存的大查询,还需要算子落盘能力,这部分功能属于试验阶段

数据科学场景

在数据科学场景中,一些数据建模、机器学习、数据科学的软件和程序库比如 pandas, sas, numpy, scikit-learn, pytorch 等需要高速读取和加载数据

存算分离架构注意事项

1. 理想架构

  • 元数据统一,既可以简化 k8s 部署,也减少数据孤岛

  • 元数据能够支持足够的规模

2. 彻底解决存算一体的痛点

  • Doris 两阶段导致的数据不能强一致保障

  • 规模变大,写入在 FE 有瓶颈

3. 成本

  • 小写使用 groupcommit 避免对象 PUT 操作产生过高成本,小表 Bucket 调小,较大表配合 Single Tablet Load

  • 数据回收进展可以监控

4. 查询延迟稳定性

  • 延迟敏感应用通过 TTL 管理 Cache,确保查询延迟的稳定

  • 读写分离使用 Cache 预热避免查询命中冷数据

5. 数据可靠性

  • 反向数据删除方案容易误删,不容易测试充分

  • 正向数据删除简单易测试充分