QuickBI开启了加速引擎,造成数据库满载,如何解决?
要处理这个问题,首先我们需要确认四个问题:
-
1. 加速引擎是什么?
-
2. 为什么要用加速引擎?
-
3. 数据库满载是什么?
-
4. 数据库满载的影响有哪些?
首先第一个问题:加速引擎是什么?
官方解释:将数据从数据库或数仓抽取到Quick引擎的高性能列式存储中,减轻数据仓库负担,适合数据量大或数仓负载过重的企业。
可能有人理解为加速引擎是预计算,但其实预计算只是其中一种。

全表加速
抽取全量数据进行加速计算,适合抽取空间充足的情况。

预计算
仅抽取部分数据(如聚合后的数据)进行加速计算,能够节约抽取空间,适用于高频查询场景

第二个问题:为什么使用加速引擎
其实我之前有篇文章已经分享过这个话题,开启加速引擎后,会有一个非常显著的加载提升速度。可以参考当Powerbi遇到quickbi,性能优化方式对比,文章中的案例直接从92秒提升至0.7秒的加载,效果非常显著。因此如果满足开启条件,强烈建议还是开启,因为开启之后,会非常提高看板使用人的体验效果。
第三个问题:数据库满载是什么?
指数据库的存储空间已经被数据完全占满,无法再存入任何新的数据
第四个问题:数据库满载的影响有哪些?
主要表现:
写入操作失败:当应用程序尝试向数据库插入新数据(例如,用户注册、发布新帖子、下新订单)时,操作会失败,并返回类似“磁盘空间不足”或“表已满”的错误。
系统性能下降或崩溃:数据库在运行时需要一些临时空间来处理复杂的查询和事务。当磁盘空间耗尽时,这些操作无法完成,可能导致数据库响应极其缓慢,甚至整个服务崩溃。
日志文件无法写入:数据库依靠日志文件来保证数据的安全和一致性。如果日志文件也无法写入,可能会导致更严重的数据损坏风险。
对于使用QuickBI的报表开发者来说,主要的影响是第二个,系统性能下架或崩溃。一旦出现这个情况,加速引擎运行缓慢,正常1分钟加载完的数据集,可能要延迟到1个小时都是有可能的。
对于这种情况,经过实践,最有效的方法,就是分不同的时间段来配置加速。如下:

平均每15分钟加速20个数据集,这样对于数据库来说,处于正常负载状态。

并且经过实际测试,如果同时开启多个数据,最多不超过30个,估算不高于25个,因为20个数据集同时开启,运行加速时间还是很快的,但30个的时候就很慢。(仅限于已开启加速的数据集跑完或者加速成功一部分,再次开启其他数据集加速)
综上:开启加速引擎,造成数据库满载的解决方法
平均每15分钟加速20个数据集,并将这20个数据集平均分布在这15分钟内。
个人介绍:瓴羊数据赛道认证开发者,现任quickbi/powerbi/finebi开发工程师,陪跑课程负责人,BI在线团队负责人,BI在线团队人数170+,团队近年来成功交付1000+企业级项目和个人项目,在以下领域具有丰富实施经验:①主流BI平台:PowerBI、FineBI、Finereport、QuickBI、永洪BI等 ② 数据自动化:Excel、MySQL、VBA等 ③ 流程自动化:Power Automate、Power Apps等 ④ 网页自动化等
服务过的行业:能源、快消零售、医疗、科技、教育、政企、制造
已服务过的部分品牌:国能、国华、龙源、慧千晓、超品贸易、融大科技

被折叠的 条评论
为什么被折叠?



