我们都知道 BI 的意思是商业智能(Business Intelligence),但商业智能是一个笼统的概念。何谓智能?如何智能?
其实 BI 既不是某种特定技术,也是可视化报表平台,而是对于一种通用商业需求的解决方案,即:用一系列技术手段对数据加工和分析,转化为知识进而支持商业决策。
既然是解决方案,BI 需涵盖大量工具和能力:数据源连接、数据准备、数据可视化、数据报表、数据输出等。对这些工具和能力的支持也是评价一个 BI 平台的最基础的维度。
需要。
如今 BI 类平台众多,常见的商业平台有:Microsoft Power BI、Tableau 等,国内有 阿里云 Quick BI、FineBI 等。下图为《2020 年 Gartner 分析和商业智能平台魔力象限》可以一窥各个平台的实力。个人没有体验过,便不做评论。
迫于众所周知的原因我更关注开源的解决方案,开源 BI 也有一些不错的选择,我在去年的一篇文章 数据可视化分析平台开源方案集锦 有所罗列,包括 Superset、Hue、Redash、Metabase 等。
查询 => 图表 => 仪表板,是目前最为常见、最为基础的交互流程。基于此向外延伸的众多特性才是不同平台的不同之处。我们更为在意的特性:
因子 | Metabase | Redash | Superset | Hue |
---|---|---|---|---|
数据源 | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐ | ⭐️⭐️⭐️ |
自助分析 | ⭐️⭐️⭐️⭐️⭐️ ️ | ⭐️⭐️ | ⭐️⭐️⭐️⭐️ | ⭐️⭐️ |
SQL支持 | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️ |
分享 | ⭐️⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️ | ⭐️⭐ |
美观 | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️ | ⭐️⭐️ |
开发语言和框架 | Clojure + React | Python+Angular+React | Python+React+jQuery | Python+jQuery |
(以上个别指标偏主观,仅供参考)
经过对比与体验,Metabase 最为符合我们的需求。
Metabase
The simplest, fastest way to get business intelligence and analytics to everyone in your company 😋
官方介绍:用最简单、快速的方式让你们公司的每一位拥有商业智能与分析。
虽然有这么优点,开发语言有点与众不同了。
对比这些开源平台前端开发语言,React 在国外果然最受欢迎,很多系统要么使用 React 开发,要么正在使用 React 重构。由于是数据类应用,服务端语言使用 Python 较多,这在预期之内。然而 Metabase 使用的是 Clojure —— 一种 Lisp 方言,这有点高级了。
作为前端开发,我不懂 JVM 也不懂 Lisp,而我被安利过 ClojureScript!仿佛有点兴趣了。
Clojure(/ˈkloʊʒər/)是 Lisp 编程语言在 Java 平台上的现代、动态及函数式方言。
划重点了,Clojure 是运行在 JVM 的语言,它可以随意调用 Java 生态的类库!而且可以打成 jar 包,像 Java 程序一样部署。
另外它是动态类型的、函数式的、拥有不可变的数据结构,这三个特性加持难怪 ClojureScript + React 栈会得到很多前端大佬的推崇。
什么?学不动了?不,你学得动,而且很可能因此打开你新世界的大门。
开源 BI,我最终选择了 Metabase,如果你也有开源 BI 需求,以上浅薄见解希望对你有所帮助。如果有什么问题欢迎留言交流。
尽可能地为用户传递价值
结构化事物并以此自动为用户推断事物
系统本该知道的东西,就不要去问用户
让用户简单方便地做正确的事
不要把用户留在诱杀陷阱里
付出额外的努力,使用户体验愉快