本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

主流报表工具对比之多源关联分片性能

数据可视化 cdadata 246℃

多源关联报表是一种常见的报表,因为涉及到关联,数据量大的时候,就可能会有性能问题发生,这里我们就基于一个计算量较大的场景,对主流的三款报表工具做测评,看看他们的多源关联性能如何?

简要结论对比

测试用例:POS 交易情况统计

测试用例是一个典型的 POS 交易情况统计报表,统计所有商户(包括申请了但还没用 POS 机的),同时按本行 POS 机刷本行卡、本行 POS 机刷他行卡等不同类型进行区分,并细分储蓄卡和信用卡交易,计算交易笔数和交易金额。


虽然使用的是同库同表的数据,但依然可以模拟多数据集间的关联计算,所有交易数据通过 c_code(商户编码)进行关联,最终形成一张完整的报表。

数据集设置如下:

  1. 所有商户(ds1):SELECT * FROM 商户WHERE c_code<=?
  2. 本行储蓄卡交易(POS1):SELECT * FROM pos 交易数据WHERE tran_type=1 AND c_code<=?
  3. 本行信用卡交易(POS2):SELECT * FROM pos 交易数据WHERE tran_type=2 AND c_code<=?
  4. 他行储蓄卡交易(POS3):SELECT * FROM pos 交易数据WHERE tran_type=3 AND c_code<=?
  5. 他行信用卡交易(POS4):SELECT * FROM pos 交易数据WHERE tran_type=4 AND c_code<=?

报表模板设计:

各报表工具都可以通过在单元格表达式将多个数据集进行关联,如下图 B5 单元格表达式,各工具报表模板设计过程也基本相似。

测试方法

我们使用相同的数据库环境和数据,避免外部因素干扰测试结果。
数据库:所有数据都放在同一数据库中,排除网络传输带来的性能波动。
数据规模:设定不同数据量,从小数据量到大数据量,观察计算性能的变化。
测试时间:记录“报表计算”时间,即从数据取完到 HTML 生成前的耗时,不计入取数和渲染时间。

测试结果

数据规模(商户数 * 每数据集条数)


从表格可以看出:
小数据量润乾和帆软表现接近且极快,SmartBI 明显较慢。中等数据量时,润乾仍最快,帆软略慢但稳定,SmartBI 耗时显著增加。大数据量时,润乾保持高效(几乎不受数据量影响),帆软小幅增长,SmartBI 性能急剧下降(超 100 秒延迟)。

除此之外,润乾报表还提供了更高效的多源关联性能处理方案,就是脚本数据集,通过在 SPL 脚本可并行提交 SQL 和全内存指针引用方式关联,代替报表单元格中的关联,通过 SPL 中封装好的函数完成关联,使用较少的代码就可快速实现个性化的计算脚本比单元格关联性能更好,这样整体性能表现也会更加优秀。

而其它工具,如果遇到超大数据关联的性能问题时,只能通过自定义 JAVA 数据集的方式处理,这些运算在 Java 中非常难写,仅一个 HASH 关联就要数百行代码,而且还不通用。过大的编码量会导致实现周期过长,还容易出现代码错误隐患,也很难调试和维护。

评测总结

润乾在报表性能方面展现出显著优势,不仅其单元格关联计算效率远超同类产品,还支持通过脚本数据集实现更高效的多源数据关联与分片处理,进一步提升了复杂场景下的数据处理能力。FineReport 性能也很不错,和润乾差距不大,能够满足大部分业务需求。Smartbi 计算模型优化不足,数据量一大就吃不消了,更适合小规模数据分析。

转载请注明:数据分析 » 主流报表工具对比之多源关联分片性能

喜欢 (0)or分享 (0)