一、业务背景与需求梳理

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

这里把自己的调研笔记整理成文分享,仅代表个人观点。

公司现在的数据需求主要分为两类:

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

对于这两类需求,我们现在的处理方案是:

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

这样做简洁明了,但很明显的问题:

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

在这种情况下,我们准备构建其实就是选型一个多维分析平台,让业务方自己能够取数,而且最好不用SQL,因为我们的业务方大部分不会SQL(尽管我们已经开展SQL培训,但还是有一定门槛)。

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

二、产品试用分析分析

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

1、Superset

整体上,个人体验下来,感觉如下:

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

各方面的具体情况如下:

1)数据源与数据管理

  • 支持的数据库非常丰富: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文件
  • 数据表模型的管理,可设置字段类型,维度/可否过滤/可否做时间列,二次加工字段,统计指标
  • chart可用的数据表得一个一个从数据库里添加(SQL工具箱可以全部看到),不是很方便。
  • 深度支持durid

2)chart单图&dashboard看板

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

3)SQL查询

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

4)权限管理

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

5) 二次开发

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

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

整体上,个人体验下来,亮点特色如下:

  • 交互体验对业务人员非常友好。通过一个对看板和单图做了一个全局搜索的功能,营造一种”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)
  • 统一的数据模型管理入口,添加数据表/视图后,设置维度/度量字段(该部分做得很细,设定的类型做了很丰富的扩展)
  • 提供定时任务,数据库同步(小时级别)
  • 自助的表字段信息透视功能,智能化探索,自动出看板,自动关联数据的分布(加分酷炫功能)

2)chart单图&dashboard看板

  • 单图制作流程非常简单:选择数据源->选择过滤条件->选择分析指标->选择分组维度->选择可视化类型
  • 支持的可视化图形种类仅能满足基本需求,14种可视化方案(包含漏斗、带变化的数字、地图)
  • 对一些图表可做细节控制,比如表单按条件控制行颜色,调整字段位置,显示迷你彩条,前后缀设定
  • 支持基本的过滤条件,包含日期段(通过筛选器的字段与单图中字段的关联)
  • 提供简单的图表钻取功能,但不支持图表的联动
  • 可一键复制已有看板
  • 自动刷新数据最小粒度到1分钟
  • 分享上支持:公开链接,公开嵌入(博客网页),在应用中嵌入
  • 使用Pulses按计划发送数据给Slack(一个国外的聊天工具)或发送电子邮件

3)SQL查询

  • 支持关联填补字段/表信息
  • sql查询结果可直接切换图形展示方案
  • 不支持跨库关联查询
  • 原生查询中的变量允许使用筛选组件或URL参数来动态替换查询中的值

4)权限管理

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

5)二次开发

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

3、FineBI(商业)

(此处已添加小程序,请到今日头条客户端查看)

  • 5分钟完成数据分析,零代码操作,点击和拖拽完成分析,可半小时内作出数据报表。
  • 满足多样的分析需求,数据处理,探索式OLAP分析,自助数据分析
  • 主打自助数据集功能,普通业务人员就能对数据做筛选、切割、排序、汇总等,自助灵活地达成期望的数据结果
  • 一键实现数据共享与管控,细致精准的数据权限管控,数据和报告可在全公司内分享,分享结果实时更新
  • 支持超大数据量分析,采用先进的列式存储,具备高效计算能力和强大的数据压缩能力,支撑前端快速数据分析。

整体上,个人体验下来,亮点特色如下:

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

各方面的具体情况如下:

1)数据源与数据管理

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

2)chart单图&dashboard看板

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

3)SQL查询

通过 JDBC 的方式直接连接数据库

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

4)权限管理

  • 可通过角色设置权限,权限受体包括部门、角色、职务、用户
  • 可对人员管理、目录权限、管理系统、数据连接、数据权限(数据表)、分享权限、定时调度管理权限等设定权限,权限设置力度丰富
  • 权限设置对象较深,可细致到组件还是数据行级

5) 二次开发

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

总结

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

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

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

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

  1. 阿里前员工跳槽后曝光薪资截图:新公司月入五万多,很满足!

    一名阿里前员工在互联网社区曝光了自己最近的薪资,其跳槽到新公司一个月后发了工资,月入5万多,表示很满足!这样的高薪资着实让人羡慕,有网友推测,这是税后的薪资,税前估计超过6万了. 从曝光的截图来看,这 ...

  2. 阿里P6员工炫耀:年薪60万,哪家外企接的住阿里的员工?

    一名标签认证为阿里的员工在论坛炫耀起来,称自己是阿里的开发,现在是P6级别,年薪60万,哪家外企能接得住阿里巴巴的员工?言下之意就是阿里给员工开出的薪资很高,没有哪家外企能开出对等的薪酬. 不过,这名 ...

  3. 阿里老员工吐槽:新员工水平差!不服管理!还不加班!我要汇报经理让对方无法转正!...

    太难了!一位阿里老员工望天兴叹,一脸落寞.怎么样,像不像小说的开头? 故事是这样开始的: 8点不算加班?难道?难道这是阿里公司的特有企业文化?小编似乎好像明白了什么.老员工内心独白:我熟悉业务不加班, ...

  4. 牛年第一瓜!阿里女员工被初中文化男子骗走500多万!开豪车连骗12名女性,被判无期!...

    点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 The road ahead is still a long wa ...

  5. 阿里IM技术分享(八):深度解密钉钉即时消息服务DTIM的技术设计

    本文引用自InfoQ社区"5亿用户如何高效沟通?钉钉首次对外揭秘即时消息服务DTIM"一文,作者陈万红等.策划褚杏娟,有修订和改动. 一.引言 本文是国内企业IM的事实王者钉钉首次 ...

  6. 报表BI选型的那些事儿!报表怎么选、BI产品怎么选?怕被忽悠花冤枉钱?报表选型、BI选型看这里!!!

    报表BI选型或许应该是个很简单的事儿,但是被厂商忽悠的感觉是个很高大上,得花大钱才能买到好产品,读完本文,应该对我们选型会有很大帮助,避免入坑... 前言 报表工具是一个接近20年的产物了 但是,直到 ...

  7. 报表 BI 选型的那些事

    前言 报表工具是一个接近 20 年的产物了 但是,直到现在,在各种数据信息化的系统中,报表工具的作用,不仅没有褪色,反而是因为信息化需求的增大.数据的增多,以及报表工具本身迭代后越来越方便好用,使得它 ...

  8. AppStore生存之道:国内iOS开发者创业经验分享

    转自:http://www.iplaysoft.com/appstore-survival.html 1.整体市场 我准备写至少两篇.本篇为对iPhone的整体的看法.以后会写对中国AppStore市 ...

  9. 苹果AppStore应用商店生存之道:国内iOS开发者创业经验分享

    1.整体市场 我准备写至少两篇.本篇为对iPhone的整体的看法.以后会写对中国AppStore市场的看法,市场销售的看法,和在中国开发的看法. 先自我介绍.我从08年9月就开始做iPhone.之前做 ...

最新文章

  1. python【蓝桥杯vip练习题库】ADV-120 6-17复数四则运算
  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统(47)-工作流设计-补充
  3. 获取手机当前显示的ViewController
  4. 如何防止无线网络被破解
  5. Elasticsearch - cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)]
  6. 5分钟内搞定 Tomcat 的 SSL 配置
  7. 聚类算法:Hierarchical Clustering层次聚类
  8. 紫光物联linux登录账号,紫光展锐打造操作系统生态,赋能万物互联智能时代
  9. python 内置模块-re
  10. Python 数据类型 list(1)
  11. 升级阿里云主机系统镜像
  12. Powershell About Active Directory Server
  13. html5类似ios下拉选择器,iosselect:一个js picker项目,在H5中实现IOS的select下拉框效果 - mufc-go...
  14. 初识ubuntu 安装steam
  15. 产品学习---互联网思维
  16. Echarts——自定义仪表盘图表
  17. java webp 图片处理_Java处理Webp图片格式转换的示例代码
  18. 数据库应用——MySQL+ATLAS+MMM高可用集群
  19. flume中HDFS IO error
  20. 青光眼 程序员_青光眼-如何不失明:让我们谈谈治疗方法…

热门文章

  1. html列自动变高,HTML 应用 多列浮动等高处理
  2. 查看可执行文件的运行架构_在运行查询之前如何查看结果集的架构
  3. 使用Power BI Desktop可视化分析冠状病毒数据
  4. 在SQL Server Management Studio(SSMS)中调试存储过程
  5. 使用tSQLt创建SQL单元测试实用程序过程
  6. Django 视图层
  7. (转) Linux(Centos7)yum安装最新mysql
  8. 青蛙跳台阶(C、Python)
  9. 循环数组中找查找某个数值
  10. 流行-Manifold【0】-维基百科中文版本解释