分享我公司的BI选型之路,让你选型少踩坑!

文 | 商业智能BI相关文章 阅读次数:4,847 次浏览
2022-08-11 9:33:55

一、业务背景与需求梳理

本来年初是计划要上马BI的,但因为疫情一直未能如愿,恰逢需求旺季,数据问题堆叠,数据分析人员疲于奔命,于是就赶紧实施计划,开始BI选型调研。

在年初的年度计划中,计划在今年使用BI,但疫情原因一再推迟。当时,需求爆发,各种业务问题,各种数据和各种分析。意识到工作已经超量低效了,不得不用这个了,因此开始了计划推行并进行了对BI选型调研。

这里把自己的BI选型调研经验笔记整理并分享出来,这只代表我个人的想法。

公司目前的数据需求主要分为两类:

临时需求:业务临时起意想要看看这波活动的效果,(数据指标的定义可能随时更改和添加)

固化需求:每周每月查看数据,(数据的定义非常明确)。

对于这两种类型的需求,我们当前的解决方案是:

对于临时需求:写HQL到Hive进行检查,然后将结果转为excel发送给需求方。

对于固化需求:编写脚本,结合Hive显示结果,将结果写入相应的DB库,然后通过第三方开源BI工具进行汇总和展示。

这样做简单明了,但也有突出的问题:

开发成本太高:每个需求,无论是临时的还是长期的,都需要定制开发,在这种情况下,我们的人力深受其累。

使用不便捷:报表只能展示,不能分析。如果想进行分析,需要将数据复制到excel中,并使用excel进行处理和分析,但我们的数据用户不一定会这个。

资源浪费:在许多情况下,对不同人员编制的报告进行多次重复计算。

体验吐槽:hue查询速度很慢,select from简单查询,等待一分钟以上(底层引擎tez太慢!!!)

在这种情况下,我们将构建选型一个多维分析平台,以便业务方能够自己取数,最好不要使用SQL,因为我们的大多数业务方都不懂SQL(虽然我们已经进行了SQL培训,但仍然有一定的门槛)。所以该平台至少满足以下要求:

SQL查询的速度更快(现在hue太慢,简单查询需要2分钟以上),所以底层应该支持大数据OLAP引擎

更傻瓜的自助分析模型,最好是拖拉拽,因为很多分析师不会SQL

数据可视化流程中有最基本的图表类型,包括表格,地图和时间趋势

最好不要开源,开发和运维都是填不完的大坑,可以接受经济高效的商业产品(能申请BI选型的预算),数据应该部署在自己服务器上

报表/看板筛选功能支持时间段筛选,最好是联动筛选;

权限满足最小阈值(可以控制表的修改和删除),可以控制数据的粒度(很多业务部分查看数据)

为了寻找满足以上要求的产品,我们进行了BI选型调研。

二、产品试用分析分析

根据大家的讨论和理解,以及几个业内同行推荐的BI工具,经过一轮筛选,选择以下产品作为重点调研对象:Superset、Metabase、FineBI。

1、Superset (开源,gihub star 25,163)

官方宣传特色:

用于探索和可视化数据集以及创建交互式仪表板的直观界面

各种漂亮的可视化展示的数据

简单,无需代码即可对数据进行深入分析

有高级SQL编辑器/ IDE,提供丰富的元数据浏览器

轻量级语义层,允许通过定义维度和指标来控制数据源向用户公开的方式

上手即用,支持大多数SQL的数据库

具有可配置性缓存的快速加载仪表板

BI选型调研,数据可视化流程,二次开发,数据源与数据管理

目前来说,个人体验下来,感觉有这些:

安装教程很繁琐,和装MySQL一样麻烦

仅支持单表获取,不支持表连接,计算速度取决于数据库的速度

有许多可视化选项,并且有多套基于经纬度的地理位置可视化方案

权限控制很细,下至每个功能键

遗憾的是,最大的问题是业务分析师的用户体验不是很好,数据可视化流程是为不同图形方案设置相应的参数,权限控制复杂。

各方面的具体情况如下:

1)数据源与数据管理

支持多种数据库:Athena、Redshift、Drill、Druid、Hive、Impala、Kylin、Spark SQL、BigQuery、Pinot、ClickHouse、Google Sheets、Greenplum、IBM Db2、MySQL、Oracle、PostgreSQL、Presto、Snowflake、SQLite、SQL Server、Teradata、Vertica、支持上传本地CSV文件

对于数据表模型的管理,可以设置字段类型、维度/是否过滤/是否制作时间列、二次处理字段、统计指标

图表可用的数据表必须从数据库中逐个添加(可以在SQL工具箱中看到它们),这不是很方便

深度支持durid

2)chart单图&dashboard看板

单图制作流程:选择数据源(表或视图)->选择图表类型->设置图表参数(指标/维度/过滤条件)。只能从数据表列表页选择数据源。进入分析页面后,数据源不能更改;在不同图表类型之间切换时,需要根据不同的图表重新填写参数,不方便自助分析;

支持多种可视化图形种类和48种数据可视化流程方案;

看板的过滤功能非常弱,连最基本的日期过滤组件没有,通过单图中的过滤器组件实现,只能针对单个数据表做出过滤组件,然后应用到看板上,此功能也很不方便。看板的过滤功能非常弱,甚至没有最基本的日期过滤组件,只能通过单图中的过滤器组件来替代,只能通过针对单个数据表制作过滤组件应用到看板上,极不方便;

支持简单的图表钻取探索功能(直接进入单图),不支持图表的联动;

数据格式(如3721,显示0.4k)方案多样化;

看板不能直接复制粘贴,只能通过重新编辑选择单图来复制粘贴看板;

看板支持自动刷新,最少10秒刷新;

支持分享:包括公开链接,网页嵌入,底层参数调整免密;

应用于chart的sql视图必须是select from的形式,否则会查询错误(不能用with as)

报表数据不支持邮件发送

不支持对图表/看板的分组

不支持图表的下钻,多图联动

不支持直接对日期范围做筛选

透视表不能按行/列做百分比汇总;

Druid引擎的计算结果,不能在superset里面生成新的指标

3)SQL查询

支持关联填补字段/表信息

支持跨库关联查询

一个多选项卡环境,一次处理多个查询

查询结果可视化,保存视图跳转到chart页面;且需要对该视图做赋权(过程过于繁琐)

可搜索查询历史记录;

支持使用Jinja模板语言模板化,允许在SQL代码中使用宏

4)权限管理

通过设置角色权限,用户指定角色来控制权限

权限控制的粒度精细,支持功能型的权限控制(表的修改可细分到删除和添加),支持菜单,数据源,数据表,字段,图表,看板的权限控制

配置权限繁琐

不支持数据行级控制

5) 二次开发

技术架构:Python+Flask+Recat+Redux+SQLAlchemy

原属Airbnb的开源项目,维护更新,bug修复和二次开发有大公司保障

支持restful API

2、Metabase (开源,gihub star 15,670)

官方宣传特色

5分钟设置仪表板

使用者无需学习SQL

丰富美观的仪表板,支持自动刷新和全屏

适合分析师和数据专业人员的SQL模式

定向邮件发送数据

BI选型调研,数据可视化流程,二次开发,数据源与数据管理

对于这个,体验感受如下:

交互体验对业务人员非常友好。通过看板和单图的全局搜索功能,营造”ask a question“的智能场景,即通过搜索框咨询答案,整个产品的界面非常简洁清晰。

制作单图时非常简单,以数据为中心选择不同的图形(非可选图形自动显灰)。可以做到单图分析半分钟完成。

然而,最大的缺点是权限管理太弱。只有可修改/可见的粗粒度控制,对于是否可以删除表没有单独的控制。

各方面的具体情况如下:

1)数据源与数据管理

支持的数据库相对较弱:Postgres、MySQL、SQL Server、Redshift、SQLite、Google BigQuery、H2、Oracle、Vertica、Snowflake、MongoDB、Druid、Presto、SparkSQL
(特别需要注意的是:其中Druid的版本为2.0版本,不支持sql查询,效果大打折扣;另外也不支持Hive,Kylin)

统一的数据模型管理入口,添加数据表/视图后,设置维度/度量字段(这部分很细节,大大扩展了设定的类型)

提供定时任务,数据库同步(以时为单位)

自助的表字段信息透视功能,智能化探索,自动显示看板,自动关联数据分布(特别有用)

BI选型调研,数据可视化流程,二次开发,数据源与数据管理

2)chart单图&dashboard看板

单图制作流程简单:选择数据源->选择过滤条件->选择分析指标->选择分组维度->选择可视化类型

支持的可视化图形种类单一,14种数据可视化流程方案(包含漏斗、带变化的数字、地图)仅能满足基本需求,

可以对图表进行细节控制,比如表单根据条件控制行颜色,调整字段位置,显示迷你颜色栏,设置前后缀

支持基本过滤条件,包括日期段(筛选器的字段与单图中字段之间的关联)

提供简单的图表钻取功能,但不支持图表的联动

现有看板一键复制

自动刷新数据,最小粒度1分钟

支持分享:公开链接,公开嵌入(博客网页),嵌入应用

使用Pulses发送数据给Slack(一个国外的聊天工具)或发送电子邮件

3)SQL查询

支持关联填补字段/表信息

sql查询结果直接转换为图形展示方案

不支持跨库关联查询

原生查询中的变量允许使用筛选组件或URL参数来动态替换查询值

SELECT count(*)

FROM products

WHERE 1=1

[[AND id = {{id}}]]

[[AND category = {{category}}]]

4)权限管理

设置角色权限,用户指定角色,控制角色权限

权限设置粗糙,仅设置可访问权限(可直接删除可访问的数据)

权限设置对象不深:权限控制范围只有数据源,数据表,图表,分析项目集合,不涉及数据行级

字段级的字段控制可设置不可见(敏感字段),但不能角色权限管理区别

5)二次开发

技术架构:Clojure+Recat+Redux

提供了完整的API文档,可凭借丰富的API与文档完成多种二次开发

3、FineBI(商业)

官方的宣传特色:

零代码5分钟完成数据分析,点击拖拽完成分析,半个小时内完成数据报表

满足各种分析需求,数据处理,探索式OLAP分析,自助式数据分析

首要是自助数据集功能,普通业务人员可以对数据进行筛选、切割、排序、汇总等,自助灵活实现所需数据结果

一键式数据共享和管控,精致的数据权限管控,数据和报表实现全公司实时共享更新

支持大量数据分析,采用先进的列式存储,高效计算能力和强大的数据压缩能力,支持前端快速数据分析

BI选型调研,数据可视化流程,二次开发,数据源与数据管理

总的来说,亲身体验感受如下:

新手使用需要适应流程,配置数据,处理自助数据集,制作可视化仪表板和图表,有点记不住

数据可视化流程简单,交互类似Tableau,拖拽数据字段到维度框,立即呈现可视化,然后基于可视化组件构建仪表板

联动钻取功能大,智能化,可自动关联到共性字段

数据处理功能强大,自助数据集具有多种数据处理功能,包括分组汇总、修改数据字段、合并表等

最大的亮点是权限控制细致实用,可以细分到原始数据源、已处理数据集、仪表板,可以管理不同角色用户,包括职位、部门等,有对管理员和用户的权限管控,类似OA,是这几个产品里最突出的

各方面的具体情况如下:

1)数据源与数据管理

支持的数据库多样化

业务包功能能够分类不同数据源,比如按部门或者按业务需求

可对数据表进行可视化管理、数据预览、血缘分析、关联视图等

2)chart单图&dashboard看板

数据可视化流程:连接数据源(导入数据库或excel)——自助数据集处理数据——依据数据制作图表组件——制作可视化仪表板。

可视化图表多样,有50多种基本图表,然后加上图表间的重叠使用样式设置能达到100多种;

有分组、交叉、明细等表格类型,不支持复杂的表格,复杂表格可以用报表软件finereport

仪表板有时间、文本、数值、查询等过滤组件,过滤功能有自定义条件过滤;

可钻取、联动、跳转数据,实现仪表板内互动,以及仪表板之间互动,支持图表的联动;

可以反复使用组件、看板,直接复制即可

有丰富的函数功能,在数据可视化流程中对数据进行二次的过滤、汇总、排序、以及自定义公式计算

仪表板定时刷新,可定时自动刷新单个仪表板、多个仪表板板和单个组件,但需要JS写定时刷新频率

支持仪表板公开链接,决策系统,网页嵌入等共享方式

仪表板直接共享、创建公共链接、悬挂仪表板。

BI选型调研,数据可视化流程,二次开发,数据源与数据管理

3)SQL查询

JDBC直连数据库

支持跨库关联查询

支持SQL数据集,允许SQL取数

支持可视化数据预览,在添加更新数据表后,业务包编辑界面会有数据预览区域,可以查看编辑成功的表数据。

可视化关联表和血缘分析

BI工程提供实时数据和抽取数据两种计算模式

4)权限管理

可通过角色设置权限,权限受体包括部门、角色、职务和用户

权限可设置人员管理、目录权限、管理系统、数据连接、数据权限(数据表)、分享权限、定时调度管理权限等,权限设置粒度多

权限设置对象深,可细致到组件乃至数据行级

BI选型调研,数据可视化流程,二次开发,数据源与数据管理

5) 二次开发

纯java开发,可以零代码操作

支持一定的二次开发,有API文档

总结

最后,从综合选型来看,BI选择选项还是要在Metabase和FineBI两者之中。前者是开源的,后者是商业的。开源有它的缺点:权限功能太弱,没有平台运维功能,界英文界面。我们的部门可以专业性开发,但是,考虑到我们可能会向整个公司推广BI,选型需要工具容易为面向方上手,产品稳定性需要技术和服务的保证。所以我们需要购买成熟的平台,因此后者在可接受的预算范围内,功能契合度高达90%。具体性能仍需实践考验。价格大约在二十万到几十万之间。还要看并发性和服务项。

很显然在目前的信息时代,借助类似于FineBI的这些工具,可以让企业加速融入企业数据分析的趋势。备受市场认可的软件其实有很多,选择时必须要结合实际的情况。一般的情况下,都建议选择市面上较主流的产品,比较容易达到好的效果,目前企业数据分析BI软件市场占有率前列的,就是帆软BI软件——FineBI。

BI选型调研,数据可视化流程,二次开发,数据源与数据管理

FineDataLink更多介绍: https://www.finedatalink.com/

< 上一篇:bi 智能 php

下一篇:bi 商业智能项目>

产品体验

相关内容

目录
立即体验 立即体验

商务咨询

在线咨询
专业顾问帮您解答问题

电话咨询

技术问题

投诉入口

微信咨询

返回顶部