阿里创业员工分享公司的BI选型之路!自研、开源的坑都踩过

1、业务背景与需求梳理

年初盘年度计划的时候计划今年要上BI的,但疫情的缘由一拖再拖,也正好在那时候需求爆发,各类业务各类问题各类数据各类分析,意识到不上不行了,负荷扛不住啊,因而就开始立项,进行BI选型调研。前端

 

这里把本身的调研笔记整理成文分享,仅表明我的观点。java

公司如今的数据需求主要分为两类:mysql

  • 临时需求:业务忽然想看看这波活动的效果怎样,(数据指标的定义可能随时改,随时加)
  • 固化需求:每周要看,每个月要看的数据,(数据的定义已经很是明确)。

对于这两类需求,咱们如今的处理方案是:sql

  • 对于临时需求:写HQL到Hive里去查一遍,而后将结果转为excel发送给需求人员。
  • 对于固化需求:编写脚本,结合Hive跑出结果,将结果写入对应DB库,而后经过第三方开源的BI工具进行汇总展示。

这样作简洁明了,但很明显的问题:数据库

  • 开发成本过高:每来一个需求,不论是临时需求仍是长期需求,都须要进行定制开发,这种状况下,咱们的人力深陷其中。
  • 使用不灵活:一个报表,只能进行展现,没有分析功能,若是要进行分析,须要将数据复制到excel里,利用excel进行处理分析,而咱们的数据使用人员不必定具有这种能力。
  • 资源浪费:不一样人员开发的报表,不少状况下存在不少重复计算。
  • 体验吐槽:hue的查询速度特别慢,作select from简单的查询,要等一分钟以上(底层引擎tez太慢!!)

在这种状况下,咱们准备构建其实就是选型一个多维分析平台,让业务方本身可以取数,并且最好不用SQL,由于咱们的业务方大部分不会SQL(尽管咱们已经开展SQL培训,但仍是有必定门槛)。小程序

基于以上,咱们进行了BI选型的产品调研。restful

2、产品试用分析分析

基于你们讨论了解以及几个群里同行推荐比较多的BI工具,一轮筛选后,最后筛选出了下面几个产品做为重点调研对象:Superset、Metabase、FineBI。架构

一、Superset 

阿里创业员工分享公司的BI选型之路!自研、开源的坑都踩过

 

总体上,我的体验下来,感受以下:并发

  • 安装教程较为蛋疼,和装mysql同样蛋疼
  • 只支持单表获取,不支持表链接计算速度取决于你的数据库的速度
  • 可视化选择很是丰富,基于经纬度的地理位置可视化方案有好几套
  • 权限控制很是细,细到每一个功能键;
  • 惋惜最大的问题是对于业务分析师的用户体验不是很好,可视化流程是要对不一样图形方案作对应参数设置,权限控制也很是复杂。

各方面的具体状况以下:运维

1)数据源与数据管理

  • 支持的数据库很是丰富:Druid、Hive、Impala、Kylin、Spark SQL、BigQuery、Pinot、ClickHouse、Google Sheets、Greenplum、IBM Db二、MySQL、Oracle、PostgreSQL、Presto、Snowflake、SQLite、SQL Server、Teradata、Vertica、支持上传本地CSV文件
  • 数据表模型的管理,可设置字段类型,维度/能否过滤/能否作时间列,二次加工字段,统计指标
  • chart可用的数据表得一个一个从数据库里添加(SQL工具箱能够所有看到),不是很方便。
  • 深度支持durid

2)chart单图&dashboard看板

  • 单图制做流程:选择数据源(表或视图)->选择图表类型->设置图表参数(指标/维度/过滤条件)。选择数据源只能从数据表列表页选择,进到分析页面后没法更换数据源;因为切换不一样的图表类型时就要按照不一样图从新填写参数,在自助分析时用起来不大方便;
  • 支持的可视化图形种类十分丰富,48种可视化方案;
  • 看板的过滤功能很是弱,连最基本的日期过滤组件没有,经过单图中的过滤器组件实现,只能针对单个数据表作出过滤组件,而后应用到看板上,此功能也很不方便。
  • 提供简单的图表钻取探索功能(直接跳入到单图里面),但不支持图表的联动;
  • 看板不能直接复制克隆,要作复制一个看板只能从新编辑选择单图;
  • 看板支持自动刷新,刷新最小时间粒度为10秒


3)SQL查询

  • 支持关联填补字段/表信息
  • 支持跨库关联查询
  • 一个多选项卡环境,一次处理多个查询
  • 查询结果可视化,须要保存成视图,再跳转到chart页面;且须要对该视图作赋权(过程很是不方便)
  • 可对查询历史记录作搜索;
  • 支持使用Jinja模板语言 进行模板化,该语言容许在SQL代码中使用宏

4)权限管理

  • 经过对角色设置权限,用户指定角色,实现权限的控制
  • 权限控制的粒度很是细,支持功能型的权限控制(表的修改可细分到删除,新增操做),支持对菜单,数据源,数据表,字段,图表,看板的权限控制
  • 权限的配置很是复杂,繁琐
  • 不支持数据行级控制

5) 二次开发

  • 技术架构:Python+Flask+Recat+Redux+SQLAlchemy
  • 原属Airbnb的开源项目,背后有大公司团队支持维护,版本更新,bug修复,二次开发有较大保障
  • 支持restful API

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

阿里创业员工分享公司的BI选型之路!自研、开源的坑都踩过

 

总体上,我的体验下来,亮点特点以下:

  • 交互体验对业务人员很是友好。经过一个对看板和单图作了一个全局搜索的功能,营造一种”ask a question“的智能场景,即经过搜索框咨询,系统告诉你答案,且整个产品的界面很是简洁明。
  • 制做单图时很是简单,以数据为中心,去选择不一样的图形(不可选的图形自动打灰)。基本作到了半分钟就能完成一个单图的分析。
  • 但可是最大的不足是权限管理实在太弱,只有可修改/可见的粗粒度控制,对表是否可删除都无法单独控制。

各方面的具体状况以下:

1)数据源与数据管理

  • 支持的数据库相对较弱:Postgres、MySQL、SQL Server、Redshift、SQLite、Google BigQuery、H二、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参数来动态替换查询中的值

4)权限管理

  • 经过对角色设置权限,用户指定角色,实现权限的控制
  • 权限设置力度很是弱,只能设置是否可访问权限(可访问的数据可能直接被删除)
  • 权限设置对象较浅:仅可对数据源,数据表,图表,分析项目集合的权限控制,不到数据行级
  • 字段级的字段控制可设置可见不可见(敏感字段场景),但不能分角色管理

5)二次开发

  • 技术架构:Clojure+Recat+Redux
  • 提供了完整的API文档,可凭借丰富的API与文档完成许多二次开发

三、FineBI(商业)

(此处已添加小程序,请到今日头条客户端查看)
  • 5分钟完成数据分析,零代码操做,点击和拖拽完成分析,可半小时内做出数据报表。
  • 知足多样的分析需求,数据处理,探索式OLAP分析,自助数据分析
  • 主打自助数据集功能,普通业务人员就能对数据作筛选、切割、排序、汇总等,自助灵活地达成指望的数据结果
  • 一键实现数据共享与管控,细致精准的数据权限管控,数据和报告可在全公司内分享,分享结果实时更新
  • 支持超大数据量分析,采用先进的列式存储,具有高效计算能力和强大的数据压缩能力,支撑前端快速数据分析。
阿里创业员工分享公司的BI选型之路!自研、开源的坑都踩过

 

总体上,我的体验下来,亮点特点以下:

  • 上手使用须要适应下流程,先配置数据,处理自助数据集,再是可视化仪表板和图表,有点懵
  • 制做可视化很是简单,交互有点相似Tableau,拖拽数据字段到维度框,立马呈现可视化,而后再基于可视化组件构建仪表板
  • 有联动钻取功能大,也很智能,能自动关联到共性字段
  • 数据处理功能很强大,自助数据集,能对数据处理的功能不少,包括分组汇总、修改数据字段、表合并等等
  • 最大的亮点,权限控制很是细且实用,能细分到原始数据源、处理后的数据集、仪表板,能对不一样角色用户管理,包括职位、部门等,有管理员和用户等权限管控,有点OA的味道,算是这几个里面最强大的

各方面的具体状况以下:

1)数据源与数据管理

  • 支持的数据库很是丰富,下图可见
  • 有个业务包功能,可以对不一样的数据源作好分类,好比按部门或者按业务需求
  • 可对数据表进行可视化管理、数据预览、血缘分析、关联视图等

2)chart单图&dashboard看板

  • 可视化制做流程:链接数据源(数据库或导入excel)——自助数据集处理数据——根据数据制做图表组件——制做可视化仪表板。
  • 可视化图表种类丰富,有50多种基本图表,而后加上图表间的重叠使用样式设置能达到100多种样式;
  • 有分组、交叉、明细3种表格类型,特别复杂的表格不支持,有另外的报表软件finereport
  • 仪表板有时间、文本、数值、查询等过滤组件,还有自定义条件过滤,过滤功能比较强大;
  • 提供数据钻取、联动、跳转功能,能在仪表板直接互动,也能和其余仪表板互动,支持图表的联动;
  • 组件、看板均可以直接复用,直接复制便可
  • 有丰富的函数功能,在作可视化时可对数据进行二次的过滤、汇总、排序、以及本身写公式计算
  • 仪表板有定时刷新功能,能单个仪表板、多个仪表板板和单个组件的自动定时刷新,须要JS写定时刷新频率
  • 分享上支持仪表板公开连接,也可挂到它的决策系统中,也可嵌入到网页
  • 仪表板直接分享、仪表板建立公共连接、挂出仪表板。
阿里创业员工分享公司的BI选型之路!自研、开源的坑都踩过

 

3)SQL查询

经过 JDBC 的方式直接链接数据库

  • 支持跨库关联查询
  • 支持SQL数据集,容许写SQL取数
  • 支持可视化的数据预览,在业务包中添加并更新完成数据表之后,业务包编辑界面存在数据预览区域,能够查看已编辑成功的表数据。
  • 可视化关联表和血缘分析
  • 提供实时数据和抽取数据两种计算模式的 BI 工程

4)权限管理

  • 可经过角色设置权限,权限受体包括部门、角色、职务、用户
  • 可对人员管理、目录权限、管理系统、数据链接、数据权限(数据表)、分享权限、定时调度管理权限等设定权限,权限设置力度丰富
  • 权限设置对象较深,可细致到组件仍是数据行级
阿里创业员工分享公司的BI选型之路!自研、开源的坑都踩过

 

5) 二次开发

  • 纯java开发,基本是零代码的工具
  • 支持必定的二次开发,有API文档

总结

最后综合选型来看,这次BI选型的选项落在Metabase和FineBI,前者开源,后者商业。

 

开源有其弊端,权限功能太弱,没有平台运维的功能,界面都是英文,咱们部门几个开发用还行,但考虑到后面可能面向全公司推广BI,选型上须要工具上手度能被业务方接受,且产品稳定性,须要技术和服务的保障。

 

横竖都是要采购成熟平台的,因此在预算可接受的范围内更青睐后者,功能知足度达90%,具体性能还得等测试,价格大概在二十万~几十万,看并发还有服务项目等。

相关文章
相关标签/搜索