一、BI的演变

在探讨这个问题前,我们想一想,在计算机普及前后、互联网产品丰富化前后,不管是个体还是企业,都在急剧的在向数字化发展,对于运营的业务,更想能够更精细和更美观的在web上整体展现出来。

早期的BI算是人为更新,也就是记录在册的纸质统计,计算机时代,数据开始电子化,可利用表格或其他工具进行为数不多的快捷的分析,但随之表格或文档工具的丰富,离线电子BI的分析也就多样化起来。

再随之电子商务的兴起,业务从线下转到线上,数据都在线上交互,每一笔单子从开始到结束的整个流程都将记录在数据库之中,但是想要对数据库中的数据导出分析或对大量数据利用表格工具进行分析又显得拙荆见肘,显然这样的方式也不能满足企业发展中的分析需求,于是衍生出很多BI工具,诸如Tablaeu这样的业务分析工具,但是针对不同行业,不同业务的一些特殊分析场景,很多BI工具还是无法满足业务发展中的需求的。

随数据体量的增大,从早期的M到GB在到T到如今的TP,BP甚至更大的日增数据量级,业务分析不仅仅想要知道业务结果,还需要清晰知道每个事实受什么样的维度影响,最终才产生这么样一个结果。于是企业更倾向于对整个业务过程进行刨析,以便给业务带来更大的增量突破,于是大数据场景入场,基于Hadoop周边的产品迅速火爆全国,诸如Hive、Spark、StarRocks等相关的产品。同时基于大数据场景的分析型产品也层出不穷,凡软、标签平台、画像、神策等类似的产品的衍生。

但是在企业内部,还是倾向于依托自己的业务场景,有针对性的自研BI产品为企业内部服务,那么这里的BI就可以分为标签式BI和自助式BI,每一种产品都有优劣势,接下来将依托大数据场景做详细的讲解。

二、自助型BI

图示为自助型分析工具的简单架构,数据来源于湖仓。上层针对业务可以使用一个关系型数据库维护业务元数据,在利用一个类似starRocks这样的olap引擎来加速的数据查询时效性能。再往上就是利用微服务思想对不同功能的业务划分到不同的微服务模块之中形成能我们的服务层,再往上就是我们的数据缓存层,针对一些变化不频繁或不变的数据,可以加载到缓存之中,再比如周期变化的数据,固定维度数据如地区数据,都可以加载进缓存,周期变化的数据可以定期去清理,再往上即对外暴露API与前端或外部进行交互了。

以上就是自助型BI实现的开发架构,至于技术选型,暂时不做赘述。

可能读者也疑问明明博主说的是自助,但是这里也没有体现到自助这个词语上,全是一篇废话吗?总之我知道客官你很急,但是客官你先别急,正菜现在就上。

2.1 数据加工

聊完实现架构后,以便帮助读者能更好的理解自助的底层实现和理解之后的产品逻辑,现在我们就来说,这个自助在哪里。所谓自助即要将能力下放给用户,给用户最大的自由度。类似微软的excel,他们只提供了工具和功能函数,至于你可以将你的分析做成什么样,就全凭你对这个产品的熟悉程度,对于函数使用的了解度,自研的自助BI同样如此,只是功能没有excel那么复杂和丰富。

自助型BI中,用户可以使用湖仓中的任何数据,同时也可以将自己的业务数据进行上传到湖仓,然后再在BI内进行类似特征工程中的拖拉拽或自定义sql的形式对现有数据进行一次数据ETL加工,形成分析前的应用层的数据,这样相比于针对原始数据上进行BI操作,经过处理后的数据的体量和质量都有大大提升。

自写sql进行数据加工,不用过多解释,能者千变万化。拖拉拽的实现中,每一个节点都可以加入自研平台已经提供好的函数,同时也支持针对底层工具输入自定义的函数,这样针对有经验的业务,就可以在平台上玩各种各样的花活儿,针对没有相关底层经验的同样可以通过搜索引擎或平台方进行培训来获得更多使用的支持。

2.2 数据排布

在数据应用层,其实也有多种自助形式的数据实现方式,一种是基于olap或湖仓的线上excel模式,另外一种是卡片式数据展示口。

  • excel式

    这种模式优势就在于数据是无限的,计算能力交给引擎自身或服务器,数据量级不受限制,函数上就尽量提供最为丰富和细化的函数给到使用者,让其能够实现比比肩excel做出来的数据表BI。同时在实现层也提供更多的诸如全局或表内的筛选器,跨表关联等一系列实现。

  • 卡片式

    所谓卡片式,即用户可以针对数据集,输出不同维度的数据展示小窗口,如PV,UV来做一个单独的展示,这样更明显,更直观,当然这些卡片同样给到用户最大的编辑自由度。实现上,可以暴露给用户不同的分析维度的数据架构口,类似可以给到页面 维度 列,筛选 列,数值 列,时间 维度 等数据拖拉窗口,在不同的维度下,可以提供一些类似同比,环比等类似的高级函数,以便让用户能够自动的得到他的表格,另外还可以在展示上提供给用户多样化的UI,类似表格,饼图,折线等,可讲数据进行展示。

两种方式都可以实现非常高自由度的自助BI操作,相较卡片式,excel式的使用成本可能更高,因为可能需要你非常熟悉excel的操作,同样在线也必要接近excel的模式。卡片式是提供了更直观的拖拉的形式和选择的形式来进行卡片数据的加工,数据在进行拖拉拽后就会立刻渲染,很直观。能让使用者看到即知道这个表示什么。

两种模式中针对某些衍生字段同理要支持,和自定义函数一样,我可以对现有字段,进行再加工形成一个新的字段到应用表以供给给我们的数据BI加工使用。

后续逻辑持续输出

三、标签式BI

四、两者优劣

五、成本分析

六、怎么选择