FineIndex详述及问题汇总

编辑
文档创建者:youdunhou (57876 )     浏览次数:2467次     编辑次数:8次     最近更新:doreen0813 于 2018-03-19     

目录:

1、描述编辑

FineIndex即数据立方体是BI的核心部分,它不仅提供了前端分析可实现的钻取、切换维度等自由分析方式,同时提供了前端分析处理大数据时拥有的高性能。它的存在也提出了FineBI非常适应于当下企业数据分析的协作模式。如此重要的FineIndex聚集众多关注,下面会具体讲述关于FineIndex种种问题。

2、FineIndex相关问题编辑

2.1 FineIndex的简述

FineIndex数据立方体,其作用是将从数据源抽取出的数据存放在FineIndex中,并进行分组、索引构建成数据立方体模型,它可以理解为一个列式的数据仓库,为前端分析提供数据。它将整个数据分析分为两个模块操作,一数据配置,一是数据分析。数据配置由数据库技术人员操作,数据分析由业务人员操作,这种协作模式,各得其所,大大提高数据分析的速度。下面简述一下FineIndex的优点:

(1)高性能:NIO内存映射文件存储模式,同时采用高效的智能位图索引,以及智能避免重复计算的缓存机制,使得在前端页面展示数据时,运行速度高效快速。

(2)良好的继承性:数据处理,采用读取数据库原有关联与手动调整关联的方式,构建FineBI数据模型的骨架,并辅以FineBI的关联视图,使得数据根据业务关系有着完整的数据结构。

(3)自生长骨架模型:第一次建立模型成功后,模型骨架会随着用户进行OLAP分析的过程,智能分析用户OLAP分析的习惯进行生长和调整。并且其以关联为骨架自动生长的机制保障了,除非分析需求出现原先没有的数据或出现逻辑上的变化,一次建立模型成功后,即使分析需求变化,亦不用重新调整数据模型。

(4)支持FineIndex分布式部署,以提高FineIndex的生成速度和即时分析取数的查询速度。类似于NFS、ceph等分布式文件系统均可。

以上是FineIndex的优点。下面简述一下FineIndex相关技术问题。

2.2 FineIndex常见的技术问题

1)FineIndex的存在方式
FineIndex是以文件形式存在数据仓库,其路径为:%FineBI%webapps/WebReport下的cubes文件。打开该文件可以看到如下图:
222

FineIndex中的文件按照表来分文件夹,内部实际上是很多小文件。因此在打开BI读取FineIndex的时候,会同时读取许多小文件,在windows系统之中没有问题,而在linux中就存在最大打开文件数的问题了,详见FineBI之Linux问题。

2)FineIndex大小
由上可知,FineIndex是存放在本地的,那么必然有个容量的问题,即磁盘大小的问题。一般情况下,我们会根据数据量的大小进去估算。在数据库中表的大小在转化到FineIndex中后,进行数据立方体的转化,一般会扩大1.5~3倍左右(注:在4.1版本中使用插件缩小了1/5,即只需0.3~0.6倍即可,具体查看FineIndex压缩插件)。也就是说如果是1G的数据那么FineIndex可能需要1.5G~3G的空间。而FineIndex的更新机制的特殊性,在更新时,先是生成与当前数据库数据一致的cubes_temp,然后生成成功后,将原FineIndex替换掉。如图是FineIndex更新时候截图:
222
因此磁盘实际所需容量是单个FineIndex的两倍空间。即数据量的3~6倍(4.1中为0.6~1.2倍)。
注:FineIndex的大小与原数据大小比是1:1.5~3;磁盘大小要求是FineIndex大小的2倍以上。

3)FineIndex性能相关
FineIndex为了能够高效的运转,由于我们采用的是文件式的方式,在更新FineIndex或使用FineIndex的时候都存在读写磁盘的操作,因此磁盘读写的速度很影响FineIndex性能,如果采用固态硬盘则比机械硬盘的性能提高许多;同时由于FineIndex中的抽取数据及运算都是在内存中抽取和运算的,因此内存的大小也会对FineIndex本身的性能有所影响,因此在分配给BI内存时,应考虑多少条记录的表;通常较通用的设置是1000w 8g 3000 16g 10000w 32g。

附件列表


主题: 数据配置
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?