永洪社区

标题: 数据集的不同建立方式对报表效率的影响 [打印本页]

作者: yhdata_Lh7u2J4Y    时间: 2021-12-16 16:58
标题: 数据集的不同建立方式对报表效率的影响
麻烦问一下,下图两种建立数据集、报表引用数据集的方式,对报表效率的影响是否有差别?哪种方式更优呢?(假设数据量很大,图中只是举了一点维度及数据做例子)

作者: _贝贝    时间: 2021-12-16 17:17
您好,推荐使用方式2,直接取数据源的数据效率会很快,组合数据集的效率一般会低于单个sql数据集的,组合的时候如果还涉及了跨库,计算又会更复杂一点。一般来说,能提前处理好数据在一个数据源内做就尽量不要去使用组合数据集,特别是在数据量巨大的情况下
作者: 美滋滋    时间: 2021-12-17 09:05
这个效率问题主要是来源于SQL查询时间,你用组合数据集,其实也是BI替你写了个关联查询语句去数据库查询数据,和你自己写一个复杂联合查询SQL去数据库取数据是一样的效果。
所以如果能事先在数据库端先把几个表整合到一起做成一个新的数据表,BI端再直接从该表中抽取数据的话,那么查询效率肯定是最快的。

作者: yhdata_Lh7u2J4Y    时间: 2021-12-17 09:19
笑呵呵 发表于 2021-12-17 09:05
这个效率问题主要是来源于SQL查询时间,你用组合数据集,其实也是BI替你写了个关联查询语句去数据库查询数 ...

谢谢您的建议,不过我还有一点疑问,之前我使用过一些其他的BI产品,比如SAP BO、亿信华晨ABI等,底层的数据都是区分多张维表与多张事实表建立的,然后在BI前台进行关联。(因为维表数据量小,不经常变动;但事实表数据量会很大,且经常会更新,所以在事实表中只存储各维度的编码,以提升每次事实表数据变化时的效率,后通过该编码与维表进行关联)。
我想请教一下,永洪BI产品与其他产品的运作模式是有区别吗?还是我哪里理解的有问题的~谢谢~
作者: yhdata_Lh7u2J4Y    时间: 2021-12-17 09:24
永洪tech-zxx 发表于 2021-12-16 17:17
您好,推荐使用方式2,直接取数据源的数据效率会很快,组合数据集的效率一般会低于单个sql数据集的,组合的 ...

您的建议我理解了,不过我还有一点疑问,之前我使用过一些其他的BI产品,比如SAP BO、亿信华晨ABI等,底层的数据都是区分多张维表与多张事实表建立的,然后在BI前台进行关联。(因为维表数据量小,不经常变动;但事实表数据量会很大,且经常会更新,所以在事实表中只存储各维度的编码,以提升每次事实表数据变化时的效率,后通过该编码与维表进行关联)。
我想请教一下,永洪BI产品与其他产品的运作模式是有区别吗?还是我哪里理解的有问题呢~
尤其是数据量巨大的情况下,如果用方式2的话,所有文本都存储在这张表中,数据会频繁更新,是不是会对效率有很大影响?(当然我也理解您说的用组合数据集的话效率更会慢,那这么说的话,感觉是只要数据量上来了,无论哪种方式,效率都会特别慢,不知是不是这样?)
作者: 美滋滋    时间: 2021-12-17 09:58
yhdata_Lh7u2J4Y 发表于 2021-12-17 09:24
您的建议我理解了,不过我还有一点疑问,之前我使用过一些其他的BI产品,比如SAP BO、亿信华晨ABI等,底 ...

你说的确实是个问题,数据库端整合一个表,是增加了数据库端的负担,但是会加快BI端查询效率。这个要衡量一下看你更注重哪边了。另外,我觉得其实你可以先试着用组合数据集看看实际查询效率,如果并不慢,那你也不需要在数据库端增加一个整合数据表了。另外,如果你的报表并不需要实时性的话,你可以将组合数据集进入本地数据集市,这样通过夜间调度任务刷新本地数据集市,就不会有查询效率的问题了。




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4