启动metabase_引入开源BI软件Metabase——数据分析平台建设(一)

引入BI系统是减少重复劳动、增加产出的必要手段和步骤

4f13937e01fa33d937bef7ba684234e0.png

什么是Metabase

在选择使用Metabase之前,也调研过许多BI软件,满足免费开源,灵活多变,我们选择了Metabase

Metabase是一款开源免费的BI软件,适用于中小型企业、初创公司,用最少的投入,使用数据驱动,为公司带来更多价值。

Metabase基于一种ClojureLisp方言编写,运行起来是个Tomcat。支持多种数据源,例如常见的MySQLPostgreSQL,以及类似Redshift这样的数据仓库。

Metabase基础架构

Metabase的架构如下图所示,自身需要一个存储自身数据以及Schema数据的数据库,另一侧则是需要连接我们自身的数据仓库。Metabase本身也支持多种数据库存储自身数据。

767fbe4eba23a0833130fdcfbeeba253.png

Metabase本身对配置要求并不高,使用一个2核4G的云主机就能跑起来了,但是在导出大数据量Excel的时候,CPU就比较吃紧了。

安装和初始化使用

安装是非常简单的,我们使用Docker进行安装,非常方便升级。 默认情况下,使用的是一种类似SQLite的数据库,名为H2,我们需要改成自己的PostgreSQL数据库,下面是我的docker-compose.yml文件:

version: '3'
services:metabase:image: metabase/metabaserestart: alwaysenvironment:MB_DB_TYPE: 'postgres'MB_DB_DBNAME: 'metabase'MB_DB_PORT: '5678'MB_DB_USER: 'metabase'MB_DB_PASS: '*******'MB_DB_HOST: '192.168.1.1'JAVA_TOOL_OPTIONS: '-Xmx2g'# 下面是配置时区JAVA_TIMEZONE: 'Asia/Shanghai'ports:- "3000:3000"

直接使用docker-compose up -d就可以启动了。

打开3000端口,就能看见我们的metabase了。

ab3c2fba102c1091ee43106f6d747dcd.png

点击Let's get Started就可以开始配置了。(建议使用英文版,中文翻译实在是不咋样)

一路下一步,按照提示配置好,就可以了

4e6308bd8a580047b572970291776f9a.png

进入之后,可以看到示例数据了。随便点一点,可以看到相关的图表。下面介绍Metabase的概念。

Metabase基本概念

Metabase中最基本的概念是Question,任何一个简单结果集,都可以看成是一个Question,而数个Question可以放到一个组里面,称之为Collection,而Dashboard也是位于Collection当中。

1. Question

对于Metabase ,有三种Question类型:

  • Simple Query
  • Custom Query
  • Native Query

其中前两种,我个人感觉差别不大,仅仅是UI不同,有些许变化,都是可以互相转换的,点击右上角即可转换,都是通过图形化界面创建查询图表,其中主要需要选择查询的指标和Group By的参数,或者是Join的图表。而Native Query是指数据库查询,可以通过数据库查询创建图表。

2. Collection和Dashboard

创建好查询可以将Question保存,存入Collection并在Dashboard中引用。其中Dashboard仅支持五分钟的自动刷新粒度,作为实时报表,还是有些难度的。

88e69cd032fc718d66ac2940bff42055.png

一波三折

BI上线的过程也是一波三折,我想也是很多和我一样刚接触BI的人一样,对整个过程没有一个概念,下面我要分享的是我们在建设BI系统中遇见的种种问题。

1. 团队协作问题

数据有了以后,我们应该如何进行团队协作?数据看板应该由哪一方进行配置?

大部分小伙伴第一次咨询我Metabase问题的时候,都是想让业务部门自生自灭,作为基础设施支持,只需要将数据源和BI软件搞好就好了。其实这样的想法是极度错误的。如果业务部门没有专门的数据分析师,即使引入了BI软件,业务部门也只能是干瞪眼。所以在这里,我们选择的是,研发部门在前期配合数据分析师(如果没有数据分析师,则要求研发来执行),根据业务需求,完成看板配置。同时应该考虑为业务部门招聘专门的数据分析师,能够完成业务部门数据提取操作,从而提升灵活性。关于数据分析师的问题,我在后续的文章里面会讨论。

2. 数据仓库性能问题

我们将生产数据库中的订单数据导入至数据仓库所在数据库,当时选型是用了一个PostgreSQL做数据库。万万没想到,在接入数据库后,数据库无法承受压力,CPU直接跑满,长时间无法平稳运行,最终花大价钱切换成阿里云ADB for PG解决。

3. Metabase自身限制

免费版本Metabase有一些限制,比如导出只能接受一百万行以内的,这个时候就需要一些取舍,过于复杂的,可以要求业务部门提工单解决,虽然依然需要做一些操作,但是无需再为每次导出重新编写SQL,减少了业务流程。

总结

Metabase作为一款免费开源软件,还是非常棒的选择。而真正引入BI系统,也很难一步到位的将研发和业务部门之间划清职责范围,需要一步一步地将复杂工作标准、流程化,最终实现解放生产力的终极目标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入剖析数据多版本 MVCC 机制

作者 | 奇伢来源 | 奇伢云存储你以为删掉就没事了?有些童鞋以前还真是做过些傻事,以为删掉一些东西,覆盖一些东西就能掩盖某一些"不可告人"的秘密。来看看 etcd 的例子:./etcdctl put 张三 是个憨憨哎呀,这可…

计算机学3d建模吗,计算机三维建模与动画基础

计算机三维建模与动画基础语音编辑锁定讨论上传视频《计算机三维建模与动画基础》是2008年清华大学出版社出版的图书,作者是张烈,骆春慧。书 名计算机三维建模与动画基础作 者张烈,骆春慧ISBN9787302172123类 别计算机技术页 数2…

同程旅行基于 RocketMQ 高可用架构实践

简介: 我们在几年前决定引入 MQ 时,市场上已经有不少成熟的解决方案,比如 RabbitMQ , ActiveMQ,NSQ,Kafka 等。考虑到稳定性、维护成本、公司技术栈等因素,我们选择了 RocketMQ。 背景介绍 ​ 为何选择 R…

finalize方法_final,finally,finalize三者的含义和区别

final表示不可变的,它可以用来修饰类,方法和变量。当它修饰类的时候表示该类是不能被继承的,因为抽象类就是用来被继承的,所以abstract关键字和final关键字不能共存。当它修饰方法的时候表示该方法是不能被重写的。当它修饰变量的…

重磅 | 数据库自治服务DAS论文入选全球顶会SIGMOD,领航“数据库自动驾驶”新时代

简介: 近日,智能数据库和DAS团队研发的智能调参ResTune系统论文被SIGMOD 2021录用,SIGMOD是数据库三大顶会之首,是三大顶会中唯一一个Double Blind Review的,其权威性毋庸置疑。 近日,智能数据库和DAS团队…

python列向输出字符串_Python读取字符串按列分配后按行输出

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

计算机论文哪儿找,查找关于计算机毕业论文.docx

查找关于计算机毕业论文计算机科学技术对现代教育的应用摘要:计算机技术以其便捷性、高可拓展性和丰富的表现形式在现代教育教学工作中发挥着重要的作用,本文简单分析计算机技术在现代教育教学工作中的作用,给出了其具体的应用方式和一些思路…

如何帮用户管好云账本?阿里云数据库助力收钱吧 | 甲子光年

简介: “收钱吧到账100万”成为普通商家最想听到的声音。 你有多久没摸过现金了? 中国互联网络信息中心发布的第47次《中国互联网络发展状况统计报告》数据显示,截至2020年12月,我国移动支付用户规模达到8.54亿;中国人…

Redis 会遇到的「坑」,你踩过几个?

作者 | Magic Kaito来源 | 水滴与银弹这篇文章,我想和你聊一聊在使用 Redis 时,可能会踩到的「坑」。如果你在使用 Redis 时,也遇到过以下这些「诡异」的场景,那很大概率是踩到「坑」了:明明一个 key 设置了过期时间&a…

bert 多义词_自然语言处理:Bert及其他

以下内容主要参考了文末列出的参考文献,在此表示感谢!2018年被认为是NLP技术的new era的开始。在这一年,提出了多种有创新性的技术,而且最后的集大成者Bert在NLP的多项任务中屠榜,造成的震撼不比当初神经网络初次在Ima…

谈谈JVM内部锁升级过程

简介: 对象在内存中的内存布局是什么样的?如何描述synchronized和ReentrantLock的底层实现和重入的底层原理?为什么AQS底层是CASvolatile?锁的四种状态和锁升级过程应该如何描述?Object o new Object() 在内存中占用多…

性能测试在软件测试中的位置,性能测试的响应时间,你真的算对了吗?

今天对nginx的accesslog中响应时间进行性能测试时,发现有个接口,直接返回数据,平均的响应时间也比较大。网上查了下,原来log中用的响应时间是$request_time,它包含了用户数据接收时间,而真正程序的响应时间…

JetBrains发布两项重要更新:基于IDE的远程开发解决方案、轻量级编辑器Fleet

近日,JetBrains 对外发布两项重要产品更新:专为云端和其他服务器打造的远程开发解决方案,以及轻量级编辑器Fleet。 为IntelliJ 平台引入远程开发支持 在近期陆续发布的2021.3 版本的各 IDE 中,JetBrains 向 IntelliJ 平台添加了远…

Hologres揭秘:优化COPY,批量导入性能提升5倍+

简介: 揭秘Hologres优化COPY的技术原理,实现批量导入性能提升5倍 Hologres(中文名交互式分析)是阿里云自研的一站式实时数仓,这个云原生系统融合了实时服务和分析大数据的场景,全面兼容PostgreSQL协议并与…

io密集型和cpu密集型_一次说明白Python爬虫中多线程,多进程,异步IO编程

图/文:迷神我们在Python爬虫中,重要的是讲究速度,如果有10万或者100万Url地址,写过爬虫的都会知道,那估计是非常慢的。我们的Python爬虫一般IO密集型业务,Python爬虫程序需要发起网络请求,必然就…

技术案例分享:WIPTEC采用Aruba边缘服务平台,实现物流配送生产自动化、精简生产力

编辑 | 宋慧 供稿 | Aruba 慧与科技公司旗下Aruba日前宣布,全美零售和电子商务市场订单交付厂商WIPTEC已在其位于魁北克省隆盖尔市新建的1700万平方英尺的配送中心内部署了Aruba ESP(边缘服务平台)网络。 WIPTEC的两个配送中心每年共管理8…

【详谈 Delta Lake 】系列技术专题 之 湖仓一体( Lakehouse )

简介: 本文翻译自大数据技术公司 Databricks 针对数据湖 Delta Lake 的系列技术文章。众所周知,Databricks 主导着开源大数据社区 Apache Spark、Delta Lake 以及 ML Flow 等众多热门技术,而 Delta Lake 作为数据湖核心存储引擎方案给企业带来…

移动网络安装测试软件,家宽众测中国移动手机版(在线宽带网速测试器)V2.0.3 去广告版...

家宽众测中国移动手机版(在线宽带网速测试器)是一款手机宽带网速测试工具,用户可以通过本软件加入中国移动的宽带评测活动各种,反映家中宽带的具体使用情况,支持在线报名参加,抢先体验则有奖励赠送哦,欢迎来下载。软件…

如何删除第一张单页_单页网站-网站建设中独有的风景线

在这个网页技术飞速发展的时代,单页网站由于其自身的特点已经形成了一种独有的风景线。从本质上来说,单页网站就是只有一个页面,滚动长页面来显示相关的网站内容,网站所有菜单都链接到主页相应的部位。一些前卫的客户已经开始关注…

service注入为null_如何解决quartz调度时候,job中的service为null的问题?

在需要用到调度任务的时候,发现job中的通过依赖注入的service对象为null.如下:Component public class ExpiredOrderJob implements Job {Autowiredprivate EmployeeService employeeService; //这里的service对象为nullOverridepublic void execute(Job…