开源 BI,我最终选择了 Metabase
2020/6/29 6:26:26
本文主要是介绍开源 BI,我最终选择了 Metabase,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
啥是 BI?
我们都知道 BI 的意思是商业智能(Business Intelligence),但商业智能是一个笼统的概念。何谓智能?如何智能?
其实 BI 既不是某种特定技术,也是可视化报表平台,而是对于一种通用商业需求的解决方案,即:用一系列技术手段对数据加工和分析,转化为知识进而支持商业决策。
既然是解决方案,BI 需涵盖大量工具和能力:数据源连接、数据准备、数据可视化、数据报表、数据输出等。对这些工具和能力的支持也是评价一个 BI 平台的最基础的维度。
我们公司/团队需要 BI 吗?
需要。
有哪些选择?
如今 BI 类平台众多,常见的商业平台有:Microsoft Power BI、Tableau 等,国内有 阿里云 Quick BI、FineBI 等。下图为《2020 年 Gartner 分析和商业智能平台魔力象限》可以一窥各个平台的实力。个人没有体验过,便不做评论。
迫于众所周知的原因我更关注开源的解决方案,开源 BI 也有一些不错的选择,我在去年的一篇文章 数据可视化分析平台开源方案集锦 有所罗列,包括 Superset、Hue、Redash、Metabase 等。
选择的依据
查询 => 图表 => 仪表板,是目前最为常见、最为基础的交互流程。基于此向外延伸的众多特性才是不同平台的不同之处。我们更为在意的特性:
- 要支持常见的数据源类型,MySQl、Presto DB 是必选项
- 支持业务自助分析和数据准备、拖拉拽的交互式探索
- 要支持 SQL 模式,用于复杂场景
- 可视化图表类型足够丰富
- 可内嵌、可推送、可分享的对外输出能力
- 完善的用户和权限系统
- 可二次开发、可私有编译部署,也就是要开源,以便扩充更多数据源驱动、图表类型、输出方式等
- 报表要美观
- 免费
拎出来比试比试
因子 | Metabase | Redash | Superset | Hue |
---|---|---|---|---|
数据源 | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐ | ⭐️⭐️⭐️ |
自助分析 | ⭐️⭐️⭐️⭐️⭐️ ️ | ⭐️⭐️ | ⭐️⭐️⭐️⭐️ | ⭐️⭐️ |
SQL支持 | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️ |
分享 | ⭐️⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️ | ⭐️⭐ |
美观 | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️⭐️ | ⭐️⭐️ |
开发语言和框架 | Clojure + React | Python+Angular+React | Python+React+jQuery | Python+jQuery |
(以上个别指标偏主观,仅供参考)
Metabase 哪里好
经过对比与体验,Metabase 最为符合我们的需求。
Metabase
The simplest, fastest way to get business intelligence and analytics to everyone in your company 😋
官方介绍:用最简单、快速的方式让你们公司的每一位拥有商业智能与分析。
特性总结:
- 支持的数据源:Postgres、MySQL、Druid、SQL Server、Redshift、MongoDB、Google BigQuery、SQLite、H2、Oracle、Vertica、Presto、Snowflake、SparkSQL。
- 数据准备方式:支持 SQL 查询、简单查询和自定义查询。
- 支持的图表类型:曲线、柱状、条形、饼图、面积图、组合图、地图、漏斗、散点、仪表盘等
- 邮件报警:可以使用已有查询配置数据阈值报警,发送邮件。
- 仪表板功能:支持参数传递、一键全屏、公开分享、iframe 嵌入、定时刷新
- 用户集成:LDAP、OAuth2(需做一点开发)
- 权限:支持按数据源或者报表文件夹分配权限给用户组。
Surprise:
- 元数据自动维护同步,对数据的浏览和透视非常方便
- 支持模型配置,用于问问题的时候直接选择配置好的指标和条件
- 支持参数传递,查询和仪表板均可注入参数作为报表筛选项
- 支持自定义地图,中国地图省份地图这些地图可视化都不在话下了
- 支持查询嵌套查询、也就是说查询可以复用了
- 支持代码块复用
- 仪表板支持 Markdown 组件,仪表板可以嵌入自定义的文本、链接、图片啦。
- 全局检索,支持全局检索报表数据仪表板等。
- 仪表板支持暗色模式,仪表板全屏以后开启暗色模式放在监控大屏上,是你喜欢的调调
虽然有这么优点,开发语言有点与众不同了。
Clojure 吓了你一跳
对比这些开源平台前端开发语言,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 需求,以上浅薄见解希望对你有所帮助。如果有什么问题欢迎留言交流。
最后附上 Metabase 之禅,个人认为这也是作为开发者应当追求的准则,共勉之
尽可能地为用户传递价值
结构化事物并以此自动为用户推断事物
系统本该知道的东西,就不要去问用户
让用户简单方便地做正确的事
不要把用户留在诱杀陷阱里
付出额外的努力,使用户体验愉快
这篇关于开源 BI,我最终选择了 Metabase的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20实战:30 行代码做一个网页端的 AI 聊天助手
- 2024-11-185分钟搞懂大模型的重复惩罚后处理
- 2024-11-18基于Ollama和pgai的个人知识助手项目:用Postgres和向量扩展打造智能数据库
- 2024-11-15我用同一个提示测试了4款AI工具,看看谁设计的界面更棒
- 2024-11-15深度学习面试的时候,如何回答1x1卷积的作用
- 2024-11-15检索增强生成即服务:开发者的得力新帮手
- 2024-11-15技术与传统:人工智能时代的最后一袭纱丽
- 2024-11-15未结构化数据不仅仅是给嵌入用的:利用隐藏结构提升检索性能
- 2024-11-15Emotion项目实战:新手入门教程
- 2024-11-157 个开源库助你构建增强检索生成(RAG)、代理和 AI 搜索