jpcflyer

企业级BI是自研还是采购?

上一篇《企业级BI为什么这么难做?》,谈到了企业级BI项目所具有的特殊背景,以及在“破局”方面的一点思考,其中谈论的焦点主要是在IT开发项目组外部。本篇会再谈一谈在开发项目组内部,应该如何选择企业级BI的实施方案:是自主研发还是采购商业BI产品?

(写在前面的话:如果你所在的企业预算非常充足,并且处于BI项目的初创期,那么这个问题不存在,后文可以直接略过,以节省大家宝贵的时间。)

接下来会分别从商业BI产品的系统架构和自研技术方案进行介绍与对比。

/请尊重作者劳动成果,转载请标明原文链接:/

/* https://www.cnblogs.com/jpcflyer/p/15685268.html * /

一、主流商业BI产品方案介绍

近几年国内BI发展如火如荼,已经有不少相对成熟BI产品,这里仅举例介绍几个,供参考。

  1. FineBI

    帆软的FineBI的核心功能架构如下图所示,主要包括Spider引擎和上层自助分析功能两部分。

     

     其中Spider引擎是核心,也应该是FineBI的核心竞争所在吧,所以这里要重点研究一下。Spider能够支持抽取模式,也能支持直连模式,这也是目前成熟BI都应具备的基础功能。对于抽取模式,Spider的技术架构如下图所示。

    可以看出帆软的抽取模式中,底层使用了大数据的相关技术:持久化存储用HDFS,计算引擎使用spark,缓存加速使用了Alluxio......细节描述本篇不再展开。除了FineBI,帆软公司还有FineReport产品支持传统固定报表及复杂报表的制作、简道云产品支持轻应用等。

  2. 永洪BI

    关于永洪BI的技术资料不多,更多的是联合企业共创的解决方案,正面消息居多,说明永洪BI的公关与宣传工作做的十分到位。下面是能找到的官方认可的最偏技术的架构图了。

    敏捷bi技术架构

    当然这个图描述的都是各BI产品共性的东西,看不出来有什么亮点(保密工作做的挺好),大家就将就着看一下吧。

  3. Smartbi

    主要包含三个产品:Smartbi Insight(中国式传统报表)、Smartbi Eagle(自助分析平台)、Smartbi Mining(数据挖掘平台)。

    Insight和Eagle产品主要是借助excel实现报表计算与自助分析,Mining的架构图如下:

  4. 观远guandata

    观远也是最近比较火的商业BI工具,其技术架构如下图所示。和帆软差不多,也具有直连和抽取两种模式,均基于spark计算,缓存用的是Cassandra。和帆软不同的是,为加速查询,观远尝试引入了Clickhouse,并且增加了AI方面的功能。

    img

    5、BI商业产品对比

    从附录1文章中引一张对比图如下所示,综合来看,帆软和观远处于行业第一梯队(该图仅代表源文作者观点,供学习交流使用)。

    img

二、自研技术方案介绍

一般企业级BI从系统架构角度可分为数据存储层、计算加工层、BI展现层等。企业内部基本都会有数据仓库、数据湖等企业级数据存储归档库,也有spark、clickhouse等计算引擎,所以本篇假设企业的数据底座能力已比较完善,已经具备BI工具所需要的存储与计算能力。后面重点说下BI展现层的实现方案。

建议选择在开源BI框架的基础上,按企业需求进行定制化开发。目前开源BI框架有Superset、Redash、Metabase,以及最近越来越红火的Davinci等。

  • Superset

Superset采用技术栈为 Python + Flask + React + Redux + SQLAlchemy ,支持多种数据源和图表类型,在Davinci出现之前,Superset的评价最高,stars数量也是最多的。

  • Redash

Redash采用技术栈为 Python + Flask + AngularJS + SQLAlchemy ,需要手写SQL,对业务人员不太友好,支持数据源较Superset略少。

  • Metabase

Metabase采用技术栈为 Clojure + React + Redux ,是页面布局和体验最好的,适合业务人员使用,但支持数据源少。

下图为Superset、Redash和Metabase的详细对比图(图片来源参考附录2)。

  • Davince

Davinci是宜信在2017年开源的可视化分析工具,面向业务人员/数据工程师/数据分析师/数据科学家,致力于提供一站式数据可视化解决方案 。其架构如下图所示。

overview_architecture

相关概念及设计理念可以参考官网https://edp963.github.io/davinci/。对于金融行业来说,选择基于宜信的Davinci进行定制化开发还是比较合适的。(最近有核心成员离开成立了datart项目,对datart感兴趣的可以自行github)。

以上均为敏捷BI开源框架,可能需要做大量的定制化开发工作才能满足企业内部BI用户的需求,需要提前做好开发资源方面的准备。

三、采购商业BI产品与自研方案对比

1、自研

自研的优势在于可以自主进行定制化开发,能够更好的满足用户的需求。

缺点在于对产品经理、技术团队的能力要求比较高,需要非常专业的产品+开发团队,同时由于开发过程中的细节比较多、坑也多,所以在时间、人力资源有限的情况下,项目可能存在实施方面的风险。

另外从0开始建设企业级BI,在产品功能和用户体验方面可能永远追不上专业BI公司的脚步,永远在步别人的后尘,因为商业BI公司都是在市场上摸爬滚打多年、经过时间检验的,所以时间久了,业务满意度可能会持续降低,转而偏向于引入商业BI公司的产品。

2、采购

采购的优势在于能够快速引入产品部署,及时响应业务在BI方面的共性需求,用户体验也会不错。

缺点在于产品的定制化成本比较高,需要有足够的预算支持,在商务方面,也要考虑产品升级、运维等的合作模式。

四、总结
方案 优势 不足
自主研发,基于开源敏捷BI框架或从0开始搭建企业级BI 1、可按需满足企业内部数据分析场景2、成本相对偏低 1、实施周期长,难以快速释放业务价值2、需要一只非常专业的开发团队3、用户需求场景多,产品设计和功能实现存在难度,对产品经理和开发团队有较高的专业要求
采购产品,采购新的BI产品作为企业级BI体系 1、快速部署,能够快速释放价值2、业务能够一起参与选型,引入外部先进经验3、功能细节比较完善,项目实施风险小 1、定制化开发成本高,难以满足企业内部特殊业务分析场景2、产品与厂商绑定,运维升级需要商务谈判

各企业的情况不同,需结合预算、开发资源、上线时间等方面综合考虑决策,部分企业还会涉及到存量BI系统的数据迁移、与企业内部系统进行定制化对接等等内容,所以需要企业因地制宜,自行设计企业级BI方案。当然如果在设计过程中有什么问题,也可以随时与我沟通交流,希望本篇对您所在企业的BI建设能有帮助,也祝各位的企业级BI越来越好。

参考资料:

  1. https://www.sohu.com/a/390496492_114819

  2. https://mp.weixin.qq.com/s/lsT5LKr3G8YoWxIFBDdJXg

分类:

BI

技术点:

相关文章: