Metabase is the easy, open source way for everyone in your company to ask questions and learn from data.
这是 Metabase 官网上的介绍。BI 工具其实非常多,但却没有一种适合所有场景,各种产品的定位也各不相同。个人觉得 Metabase 相对于其他 BI 产品具有以下特性:
一般来说,BI 产品的用户都是业务人员(大部分不懂 SQL),Metabase 把数据分析常用的查询通过通过一个易于操作的界面来操作,这样,不懂 SQL 的业务人员也可以快速掌握业务数据。下面举个简单的例子来看一下,如果销售人员想知道每月的订单数量该如何操作:
只需要点几下,就可以得出一个直观的可视化结果,当然,除了折线图之外,还可以选择饼图、柱状图、表格等。对于查询的结果,可以导出到 CSV。
看到这里,一定会有同学发现,这种单表查询统计太简单,真实情况的业务分析可能需要 JOIN 几张表或使用一些 SQL function 才能得到结果。然而,对于熟悉 SQL 的业务或开发人员,也可以通过 SQL 来获得业务数据,如图:
上面这些业务数据都可以保存并且分享给团队里其他成员。除此之外,团队中开发人员也可以把复杂的查询写好,把结果共享给业务人员。这是团队共享业务数据的应用场景。
Metabase 支持多种数据源,包括 MySQL、Postgresql 和 H2,看 Roadmap 即将支持的是 Redshift。
部署 Metabase 同样非常简单,在 Mac 上下载之后点击即用,其他平台也只需运行一个 jar 包而已。同时支持的部署环境是:
ChartIO 支持各种数据源,通过拖拽方式来获取业务数据,并生成图表,从这方面讲,ChartIO 和 Metabase 的定位是相同的。不过 ChartIO 是一个 收费的 SaaS 服务,而 Metabase 是开源免费的软件程序,他们之间的关系有点像 Github 和 Gitlab,不过从目前的状况看,ChartIO 成熟度要优于 Metbase 很多。
虽说 Metabase 可以让不懂 SQL 的业务人员轻松分析业务数据。但由于 OLTP 数据库的结构本身是不利于业务分析的,更不要说数据量大的情况,OLTP 数据库 JOIN 几张表之后的查询效率更让人难以接受。
一个拟补的方案是,开发人员只需要做一些简单的 ETL 操作,把 OLTP 库先转化为适合分析的星型模型。
对于业务分析方面还没有任何基础的公司来说,Metabase 也许是一个不错的开始。