是的,我们开始使用了BI了,然而BI是否如我们想象般那么好用?一起来了解下BI工具与数据仓库的三种关系状态。
首先,在讲这件事情之前,我们需要分为两种使用场景。一种是个人用户,使用形式比较随意,基本都从本地获取数据,比如从Excel中获取数据进行分析和使用,这种情况不在我们的讨论范围内,在该种阶段我们所使用和处理的数据相对简单。
我们重点需要讨论的是另一种类型,比如企业BI的使用或者部门级较为正式的BI使用。在特定情况下,第一种方式会升级为第二种方式。
最差的关系状态
BI和数据仓库最差的关系状态是:数据仓库无法满足BI工具的数据建模和分析需求,需要以BI工具自身的能力进行数据处理工作。
在某些企业当中,虽然可能存在数据仓库,甚至于可能压根就没有数据仓库,直接从业务系统的数据库直接获取数据。其原始数据缺乏与业务分析场景的整合,需要大量的数据清洗工作。
此时,如果用户希望将这些数据加载到BI中进行建模和分析,那么就需要借助BI工具本身的能力来实现,而实际情况是在这方面不同的BI工具的能力千差万别,即便有好的能力,而之后的维护工作将成为难题,并且很容易成为性能瓶颈,整个数据的使用压力将全部压在BI工具一侧。
这种情况多发生在,企业规模不大,需要快速构建使用BI工具进行展示,并且没有意识到数据管理的重要性的企业当中。
常见的关系状态
到这一阶段,一般企业会创建属于自己的数据仓库,并且对数据做一些整合。但该阶段数据与业务分析使用场景的契合度并不完整,虽然已经可以支持BI工具从数据仓库获取数据,然而可能受限于权限问题或者计算资源问题。基于从数据仓库获取的数据,仍然需要在BI工具做部分数据处理工作。
这种情况在企业的数据使用环境中普遍存在,并且对数据管理的重要性,有了一定的认识,但是不多。然而,相较于第一种,这已经是一个非常大的进步。
最好的关系状态
当BI工具和数据仓库达到最佳关系状态时,BI工具将不对数据进行任何转换,而是直接获取数据仓库的数据,并基于这些数据完成数据模型的搭建和分析指标的编写。
此时,数据仓库拥有清晰的业务域数据,该业务域数据推荐按照维度建模的方式进行管理,除了支持BI工具的数据建模和分析需要,还可以作为一个通用的基础数据源,支持其他分析方式的数据获取和不同BI工具的迁移工作。
以上描述,很容易让人产生一个误解,很可能会误解为:将指标提前按指定的维度在数据仓库聚合后加载到BI工具。NO、NO、NO,完全不是这样,而是遵循维度建模的技术要求,将数据仓库中的表分为维度表和事实表。在业务专家的领导下创建业务域数据,并且这些维度和事实表是符合业务用户的数据使用习惯的,这将专门为BI的使用进行服务。
如果希望这个状态更好,那么最终的数据用户应该和数据仓库在物理上隔绝开来,用户将直接对接到BI,而不是数据仓库。BI将作为IT和业务之间沟通的桥梁,将IT那些不是给“人”看的数据,通过数据建模师的手,将其转换为可以被业务用户直接使用的数据,将BI作为业务心目中的IT。
总结
BI要想有好的体验,数据仓库是必不可少的,并且是关键的一环。没有数据仓库配合的BI,将无法达到最好的使用状态。BI的核心应该是数据模型,而不是报表。如果仍然沿用将指标提前聚合后加载到BI工具中进行展示,那么BI工具仅仅只是充当了一个报表展示的平台,已经和商业智能没有关系了,因为这就是一个披着BI外衣的报表工具。