[大数据] 如何提升数据计算的下推比例

yhdata_xeybPoq9青铜四 显示全部楼层 发表于 2023-6-2 09:53:09 |阅读模式 打印 上一主题 下一主题
1
已解决
使用Doris做为数据库, 进行数据报表制作时, 直接在BI上对XY轴的字段进行聚合或者加工, 会导致数据被拉取到BI进行聚合, 比如一个简单的按年-周进行某个指标求平均的报表, 后台日志显示, 数据库中只执行了 时间段的过滤, 300多万的数据会被拉到BI进行计算, 并没有使用数据库的算力进行group by 和avg, 在制作报表时也勾选了下推到数据库计算. 还有什么其他方式可以提高下推的程度. 因为数据拉取过多导致现在报表展示的页面加载和渲染很慢, 甚至会超时( ̄ .  ̄)

最佳答案

yhdata_yzm 关注Ta

2023-06-02 09:53:10

1. 数据模型设计:确保数据模型的设计合理,包括正确地建立索引、使用合适的数据类型和数据存储方式等。优化数据模型可以提高查询性能和下推计算的效率。 2. 查询优化:检查报表查询语句是否充分利用了数据库的聚合函数和条件过滤。使用正确的查询语句和合适的查询条件可以减少数据的拉取量,并将计算下推到数据库进行。 3. 预聚合表:考虑创建预聚合表来存储已经计算好的聚合结果。通过提前计算和存储聚合数据,可以避免每次查 ...
查看完整内容
回复

使用道具 举报

精彩评论2

yhdata_yzm 显示全部楼层 发表于 2023-6-2 09:53:10

1. 数据模型设计:确保数据模型的设计合理,包括正确地建立索引、使用合适的数据类型和数据存储方式等。优化数据模型可以提高查询性能和下推计算的效率。

2. 查询优化:检查报表查询语句是否充分利用了数据库的聚合函数和条件过滤。使用正确的查询语句和合适的查询条件可以减少数据的拉取量,并将计算下推到数据库进行。

3. 预聚合表:考虑创建预聚合表来存储已经计算好的聚合结果。通过提前计算和存储聚合数据,可以避免每次查询都进行大规模的数据拉取和聚合操作,从而提高报表的查询性能。

4. 数据分区和分片:合理地进行数据分区和分片可以减少查询范围,减少数据的拉取量,并利用数据库的并行处理能力。根据报表需求,对数据进行合理的分区策略,使得查询只需要处理必要的数据片段。

5. 数据压缩:使用数据压缩技术可以减少数据在网络传输和存储过程中的体积,从而减少数据拉取的开销。选择合适的压缩算法和参数可以在一定程度上提高数据传输效率。

6. 缓存机制:考虑在BI工具或应用程序层面实现缓存机制,将一些频繁使用的查询结果缓存起来,避免每次都重新查询数据库。通过缓存可以大幅提高报表展示的加载和渲染速度。
回复

使用道具 举报

yhdata_xeybPoq9青铜四 显示全部楼层 发表于 2023-6-2 11:24:38
面对doris的数据集, 默认不会进行下推吗?是不同数据库的适配问题吗, 实际SQL执行逻辑只有一个select substr(B),avg(A) from T where B between * and * group by  substr(B), 但是现在只有where进行了下推, 我想把group by 和 avg的操作都在数据库里执行改如何设计报表?
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部