BI cube的前世今生:商业智能BI为什么需要cube技术
企业中常常会出现这样一幕幕尴尬的场景:
企业的决策人员需要从不同的角度来审视业务,协助他们分析业务,例如分析销售数据,可能会综合时间周期、产品类别、地理分布、客户群类等多种因素来考量。IT人员在每一个分析角度上都建了一张报表。然而,决策人员需要更多的分析数据,他们需要在各个角度不同组合上再生成报表,IT人员就需要大量的时间来制作报表。IT人员表示终于可以喘口气的时候,决策者又有了新的想法,得了,再做报表吧。为了避免这种尴尬的情况,多维数据库(Cube)的构建便应运而生。
Cube,即多维数据库,可以简单地理解为:将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放。较为典型的是如下图的数据立方体,让用户从多个角度探索和分析数据集,通常一次同时考虑三个因素(维度)。
如果保持立方体的某些坐标轴的值不变而改变另外某一个轴,便可以看到数据在不同维上的变化情况。
在上面的例子中,如果保持产品的名称和日期为常量,沿客户城市坐标轴移动,便可以得到在所有客户城市某一天某一产品的全部销售值。有这种分析需求的一般是地区经理。同样,可以根据财务经理、产品经理及总经理对商务分析的不同需求来对数据立方体进行不同角度的解析,如下图:
同时,我们可以对cube进行更进一步面向分析的操作。如下图:
原型立方体:
我们通过cube技术对数据进行了钻取、上卷、切片、切块和旋转处理,使数据更加面向分析化。这些直观的分析可以辅助决策人员为企业做出正确的决策。
那我们什么时候用cube呢,这取决于你的数据量,如果你有千万或上亿的数据量,你直接用SQL去数据库查找,是很慢的。如何在cube里事先处理好,就需要把你要的数据提前聚合,就不用再去跑数据库了。
市场上绝大多数新型BI是通过SQL直接处理数据库中的数据,并没有cube这一中间层,虽然数量较小时有一定优势,但当数据量比较大时,因为SQL处理机制自身的局限性,速度明显下降,甚至出现卡死状态。面向大数据,是商业智能工具的基本能力。这方面,FineBI采用中间cube的模式,巧妙的解决了大数据的问题。
商业智能FineBI运用的cube技术,集合了强大的数据计算能力和便捷性为一体,可以进行多维分析、交互分析和钻取分析。
多维数据库FineCube采用动态的内存数据立方体技术,预处理以及并行计算的先进数据处理模式,使用NIO内存映射文件存储模式,同时采用高效的智能位图索引,以及智能避免重复计算的缓存机制,使得在前端页面展示数据时,运行速度高效快速,迅疾如电。FineCube支撑着在线大数据量分析功能,可以说FineCube是FineBI处理大数据的灵魂。
对于大数据的多维分析、交互分析、钻取分析将成为新一代智能BI的主旋律,而cube技术就是这一支旋律中的灵魂音符。
上一篇: 在Python中调用Java扩展包HanLP测试记录
下一篇: 复杂报表设计