目前市面比较流行的可视化工具:tableau,FineBI,powerBI,Smart BI,IBM Cognos,永洪BI,等,其中对于三个产品tableau,FineBI,IBM Cognos,调研和使用过,对着三个产品做个简单的介绍:1
1、tableau已经比较完善了,性能在报表服务器中是优秀的,功能也比较强大,但是产品的价格也是不菲的,众所周知;
2、cognos产品目前占有的市场大部分集中在老企业中,使用的基于他整个架构数据的etl,模型及cube等,现在IBM对这个产品没有在投入太多的精力,专向其他方向;
3、FineBI,新兴的产品,从4.0的版本到现在的5.1.2版本成长的还是比较优秀,功能比较强大,从到4到5的版本发生了质的变化;
下面针对我个人使用BI可视化的一些理解进行汇总和总结,下面以FineBI为例做介绍;
1、开发集成:
1、web页面部署;
web页面集成部署简单易行,通过url或者iframe等方式嵌入进行,方式简单,但是存在一些问题,
1>、登录安全性的问题,曾经有人说用加密解密的方式,但是这就存在一个问题,对url加密解密,那么代码的开发量增多,而且维护性变差,页面的加载也会变慢,
一个加密和解密的过程,使得加载的性能比较低;
2>、无法进行二次开发,例如一个场景想看汇总的数据同时希望把明细的数据下载下来进行核查,那么这样是无法实现的;
3>、浏览器的session保持难,会出现session超时的跳出到Fine的登录界面;
4>、数据权限、FineBI工具本身是支持数据权限的空置,包括行列的权限控制,例如:数据量是亿级别的那么这个数据权限在这里一方面影响页面的加载性能,一方面影响展示性能,此时
直接通过url传进来参数,页面的加载不会影响,同时查询的性能也不会受到影响;
2、单点登录部署;
1>、现在很多项目或者产品在使用的时候,页面的设计风格比较独特,作为一个链接跳转方式管理,那么单点登录是最好的选择,同时所有的报表开发和菜单及权限都是在报表服务器进行管理
,这个主要取决于这个项目或者产品的架构及布局,不在多说。
3、分布式部署开发
1>、作为一个项目集成到web项目中,好处权限、安全的问题都不存在,它随主项目的架构进行调整,直接作为项目集成,菜单只是相对路径,所有的菜单维护在数据库中
这样使得整个的开发变的也比较规范和便于管理。这个是我比较推荐的,前期开发量多些,但是后面的管理二次开发维护是比较优秀,而且还支持二次的开发。
2、集群搭建:
1>、报表服务器本身的集群部署,redis做session同步,ftp做项目开发的同步,好处:便于统一部署文件和管理,测试比较完善,缺点是redis的会话清除策略支持的不是特别好,
目前默认的是redis的1库,会话清除策略需要定时手动的清除,需要专门的一台机器做文件同步,除了部署的机器之外,需要一台redis(个人觉得需要集群),一台ftp文件服务器,
2>、负载均衡及apache代理转发模式的集群,采用轮询的方式进行访问,缺点:文件不能同步到多个节点,每个节点的FineBI需要手动的进行部署;有点:不需要额外的机器来搭建集群
节省不必要的开支;
3>、weblogic或者tomact的集群方式部署,主从节点。和上面介绍的2有相似之处。不做介绍
3、Bi的使用
1、所有的BI图或者表格的使用是基础,但是我从来不去记住这些表是那个,有时候别人问我什么表怎么做的,我可能都回答不上来,但是你直接给我这个需求,我可以很快实现;
2、个人觉得核心是表的数据源的sql的选择,报表服务器对数据支持比较丰富,例如:表,sql,自身数据集,服务器数据集,这个如果数据库没有特殊要求,一切都好说,那么如果有特殊要求,不同的sql集组成的sql,最终
解析出来是不一样的,会出现报错:例如:sql和sql集关联会被解析成子查询,那么这个效率对于大数据不高,此时我的建议是用服务器数据集直接是一层关联等等;
3、使用BI要从原理去分析,那么整个的使用起来比较流畅和出现问题时候也能快速定位到,整个是我使用BI一直坚持的,所以有时候会和客服出现小摩擦;例如:环比值的计算,他们是在页面进行
了一次处理之后得到的一个结果集,而且必须是有上个月的数据才会被计算出来,负责就是空;。
4、BI的可扩展性不是很好,一些特殊需求没有办法自己在开发只能是和厂商协调,例如:时间控件默认是1990-01-01-2200-01-01,没办法动态控制,可以通过其他方式处理,就没有了
时间控件展示的美观性;
5、图表的的联动也是现在比较流行的一个分析模式,动态的变化,这个主要是一个选择按钮的设置,没什么深入,我们需要猜想这个联动是怎么建立的,而不是说一个按钮就实现了
6、数据的实时性和内存化,这个主要取决于架构的设计,还有设置定时任务同步数据等等;
以上就是个人对于BI系统几个点的理解,BI可视化的最重要就是需求,不管是第三方的产品还是自己的开发产品,都要从原理上去分析(不懂就要问),那么不管是在运用还是开发上都保证你对这项技术是非常之了解的。
BI可视化产品概述(一)
最新推荐文章于 2024-05-16 15:44:55 发布