4.Metabase中管理数据源

作者: Bigdata234 | 来源:发表于2018-08-15 15:49 被阅读0次

    在使用Metabase进行数据分析之前,首先需要添加数据源。如果在系统的初始化的过程中,没有添加数据源。可以在之后,通过管理面板添加数据源。
    在Metabase中对数据源的管理主要包含添加新的数据源、删除数据源、数据库的同步和安全防护。以上的这些操作都是Metabase的管理员角色才有的权限。普通的用户没有操作权限。如下图:

    4.1 Metabase支持的数据库

    在写这篇文章的时候,Metabase的最新版本是V0.30.0。目前支持的数据库及其版本要求如下:

    • Amazon Redshift
    • Google BigQuery
    • H2
    • MongoDB (V3.0以上的版本)
    • MySQL (V4.1以上的版本,其分支MariaDB也是)
    • Postgres
    • SQLite
    • SQL Server
    • Druid
    • CrateDB
    • Oracle
    • Vertica
    • Presto
    • Google Analytics
    • SparkSQL

    4.2 数据库连接详细步骤

    链接以上数据库,只需要配置对应的基本信息即可。以下以连接PostgreSQL为例说明。

    (1)进入管理面板

    如下图,通过右上角的设置按钮进入到管理员面板中——Admin Pannel。


    管理员面板入口.png

    (2)进入数据库标签页

    通过点击DataBases标签页,进入数据库标签页。如下图所示:


    数据库标签页.png

    在该标签页中,列表显示出了当前Metabase连接的所有数据库。SampleDataset是Metabase在初始化的时候自动创建的H2演示数据库。

    (3)点击Add database添加数据库

    此时会跳转到新的页面上,输入要连接的PostgreSQL的信息即可,如下图:


    数据库连接实例.png

    当选择不同的数据库,该页面显示的必填字段是不同的,MySQL和PostgreSQL是相同的。以下是字段说明:

    • Database Type:要连接的数据库的类型;
    • Name:数据库在Metabase中的显示名称,如默认的数据库显示名称为'SampleDataset';
    • Host:数据库的地址;
    • Port: 数据库的端口,PostgreSQL默认是5432,MySQL默认是3306;
    • Database Name:要连接的数据名称;
    • Database username: 登陆数据库的用户名;
    • Database password: 登陆数据库的密码;
    • Additional JDBC Connection String Options:其他JDBC连接的配置选项。比如可以在此指定语言等;
    • Use an SSH-tunnel for database connections: 是否使用SSH安全链接
    • This is a large database, so let me choose when Metabase syncs and scans: 在数据量比较大的时候,为了提高性能,需要自定义数据库同步和扫描的时间

    (4) 创建成功

    当点击Save按钮后,如果填写的基本信息没有问题,会弹出数据库添加成功的界面,如下图:

    数据库添加成功.png
    在该弹出窗上,Metabase会建议你"Explore this data",即Metabase机器人会简单的探索该数据库中包含的表和数据等。

    (5)数据表概览

    当你点击了Explore this data,此时会弹出如下界面,显示了当前库中的每一张表。当然,点击进去之后,系统会对表中的数据做一个简要的分析,此处不再详解。

    表信息.png

    (6)在数据库列表中查看

    添加新的数据库后,可以在数据库列表中查看,Bigdata234就是新添加的数据库。如下图:


    数据库列表.png

    至此,数据库的添加步骤全部结束。

    4.3 数据库删除

    数据库的删除是很简单,但是对数据库的删除会发生连带效应,不可以逆转。所以应当谨慎之。考虑对某些查询进行手动备份,达成高可用的方式。如下图所示,直接点击Delete即可完成数据库的删除。

    数据库删除.png
    在点击了删除后,Metabase会弹出一个提示对话框,提示你数据库的删除可能带来的风险和影响,当你确认无误后,在文本框中输入'Delete',不区分大小写,再点击Delete按钮后,即可删除。如下图所示:
    数据库删除确认对话框.png

    4.4 数据库修改

    在数据库标签页,直接点解数据库的名称,会跳转到数据库修改界面,下图是点击了Sample Dataset数据库后的显示:

    数据库修改.png
    在此页面可以修改当前数据库的
    • Database type: 数据库类型;
    • Name: 显示名称;
    • Connection String: 链接字符串;
    • 性能优化;

    支持的操作有:

    • Sync database schema now: 同步数据库的Schema(数据库模式);
    • Re-scan field values now: 重新扫描数据库的字段值;

    危险区域提示:

    • Discard saved field values: 删除已经保存的字段值;
    • Remove this database: 删除数据库;

    4.5 性能优化之自定义同步的调度

    默认的情况下,Metabase是在操作轻量级的数据库的时候,会每小时对数据库进行同步和数据库的字段扫描的。
    但是,在以下两种情形的时候必须要自定义同步和扫描的时间了。

    • 当操作的单个数据库的数据量非常大的时候,每小时进行数据表的同步和字段的扫描显然不合适了,这样会大大的降低Metabase的性能。
    • 当Metabase连接的数据库非常多的时候。Metabase连接一个数据库或者几个数据库的时候,因为表的数量有限,的确不会带来什么影响,但是表多的时候,在同一时间内后台同步更新会大大的降低Metabase的性能,会给降低用户的体验度。

    所以,此时操作大数据的时候,为了提高Metabase的性能,Metabase支持自定义数据库的同步。
    具体步骤如下:

    (1)、首先启用自定义同步

    启用自定义同步有两种方法:第一种是在创建数据库链接的时候就启用;第二种,是在链接创建后,进入数据库的管理页面中,启用,然后点击保存。如上面的《数据库修改.png》图中所示。下图是点击启用后的项:


    大型数据库同步和扫描.png

    (2)、调度设置

    启用自定义同步后,页面上会多了一个Scheduling标签页,在该标签页中进行数据库同步的调度配置,如下图所示:

    调度设置.png
    在上面的页面上,主要设置两个时间:数据库同步的时间和字段扫描的时间。
    2.1 数据库同步的时间设置

    如下图:


    数据库同步时间.png

    此处设置的是每天早上一点的时候开始数据库的同步。

    • Scan:支持两种模式Hourly(按小时)和Daily(按天);
    • at:如果设置了按小时,就默认为每小时同步一次,不会有at的设置了。如果设置为按天,需要设置在一天的那个小时开始。

    目前Metabase不支持比小时更细的粒度调度。另外,根据经验,数据库的同步最好放置在夜间或者业务量低谷的时候,不要影响到业务的使用。比如,我的Metabase是在8点到18点提供服务的,我就把数据库的同步放在了凌晨1点。

    2.2 字段扫描

    字段扫描的设置如下图:


    字段扫描的调度设置.png

    字段扫描的调度支持三种方式:

    • Regularly, on a schedule:手动设置同步时间,同上面的数据库同步时间设置一样;如果使用此方式的时候,注意,同步时间一定要在数据库的同步之后进行。我一般是设置晚一个小时。
    • Only when adding a new filter widget:只有添加了过滤器组件的时候才同步;
    • Never, I'll do this manually if I need to:可以在需要的时候,自己手动的设置。

    总之,对数据库的同步和数据字段的扫描的时间调度的设置,需要根据自己的业务需求,比如,你的业务需求就是对实时性要求非常高。但是,在实际的生产环境中,该部分的功能最好由运维的同事来负责维护,他们能够从全局的角度衡量资源的平衡,知道了数据源的更新时间等等,才能配置好更合理的时间调度。

    相关文章

      网友评论

        本文标题:4.Metabase中管理数据源

        本文链接:https://www.haomeiwen.com/subject/lgjwbftx.html