文章目录

  • 一、元数据概述
  • 二、元数据表结构
    • 1. 用户相关
    • 2. 权限相关
    • 3. 数据源相关
    • 4. 查询相关
    • 5. 运行日志相关
    • 6. 定时任务相关
    • 7. 数据图表相关
    • 8. 邮件推送相关
    • 9. 其它

一、元数据概述

  • Database元数据默认存在内嵌h2数据库中,但生产环境建议迁移到MySQL或PostgreSQL数据库,详情参阅 官方文档

二、元数据表结构

  • 元数据库中共有55张表,分类梳理如下

    1. 用户相关

    core_user

    • 用户信息表,包括用户姓名、邮箱、密码、注册时间、上次登录时间、是否管理员、账号是否激活、认证方式、地域偏好等
    • login_attributes,注释说用于存储行级权限的JSON串

    core_session

    • 用户token表,包括用户ID, session_id 和时间
    • 仅当前session有效的用户会记录,若主动登出导致session失效会删除记录

    2. 权限相关

    permissions_group

    • 权限组定义表,仅含权限组名和权限组ID两个字段

    permissions_group_membership

    • 用户/权限组定义表,仅含用户ID和权限组ID两个字段

    permissions

    • 权限表,仅含权限组ID和被分配的权限(object)两个字段
      /db/2/ 表示对数据库2有所有权限
      /db/1/schema 表示对数据库1有 data access 权限
      /db/1/native 表示对数据库1有 sql query 权限
      /db/2/schema//table/6/ 表示对数据库2的表6有 data access 权限

    permissions_revision

    • 权限修改记录,包括修改人,修改时间,及修改前后的权限情况

    3. 数据源相关

    metabase_database

    • 数据源表,每一行记录代表一个数据源,包括链接方式,定时同步配置等
    • description, points_of_interest, caveats 三个字段源自网页中配置的数据源信息

    metabase_table

    • 表单信息表,每一行记录代表一张表,以SQL解析获得的表信息为主
      description, points_of_interest, caveats 三个字段可在网页中配置

    metabase_field

    • 字段信息表,每一张表的每一个字段一行记录,包括解析SQL获得的字段信息和一些附加信息
    • fingerprint 字段DQC,根据字段类型存储不同的DQC信息,所有类型字段都会存去重值的数量,以及空值占比;
      • int / double 存储最大/最小值,四分位值/平均值和方差
      • datetime / timestamp 存储最早/最晚时间
      • varchar / char 存储平均长度,及 json / url / e-mail / state 四种字符串所占百分比
      • bigint 空,不分析
    • has_field_values 包括FieldValues (list), should ad-hoc search (search), disable entirely (none), infer dynamically(null)四种枚举值,作用不详

    metabase_fieldvalues

    • 字段值记录,包括字段ID(与 metabase_field 表对应),更新时间和值记录
    • values 当某字段去重值较少(<25个)时,将去重值记录在此,并将has_field_values 字段改为 list

    segment

    • 记录管理员定义的segment,可以理解为官方Filter,数据挖掘时可直接当Filter引用

    metric

    • 记录管理员定义的metric,可以理解为官方子集,数据挖掘时可以直接和子集进行对比

    group_table_access_policy

    • 记录对表定义的行配置,该配置会用于行级权限的匹配

    4. 查询相关

    query

    • 记录查询语句,每一条不重复的查询语句一行记录,主要记录具体查询SQL和平均执行时间
    • query SQL查询直接记录sql语句,系统图表查询记录HoneySQL;此外还会记录middleware使用情况

    query_execution

    • 记录查询历史,每一次查询一条记录,包括查询时间,返回数据量等信息,但不包括具体SQL

    query_cache

    • 缓存慢SQL的查询结果,该功能可以在Admin开启或关闭

    native_query_snippet

    • 保存SQL查询模版,即 Write SQL → SQL Snippets 页面中包含的代码模版信息

    5. 运行日志相关

    DATABASECHANGELOG

    • 元数据库修改记录表,包括修改人,修改时间,修改内容等等,主要记录表结构变更

    DATABASECHANGELOGLOCK

    • 修改元数据库的分布式锁,仅一行记录,包括是否上锁,当前持有锁的用户和上锁时间

    6. 定时任务相关

    • metabase默认有两种表定时扫描策略:每小时扫描一次表结构,以及每天做一次全表扫描(DQC更新)

    QRTZ_TRIGGERS

    • 任务运行状态表,将任务配置(QRTZ_JOB_DETAILS)和触发器(QRTZ_XXX_TRIGGERS)匹配起来
    • 同时会记录当前运行状态,上一次运行情况,下一次运行时间等运行信息

    QRTZ_CRON_TRIGGERS

    • 定时任务trigger表,按cron配置定时激活触发,记录触发器分组、时间周期(cron)

    QRTZ_JOB_DETAILS

    • 任务配置表,记录任务名,任务描述和任务配置(如是否周期执行,是否更新数据等)

    task_history

    • 任务运行历史记录,每一次运行任务(无论定时还是手动触发)都会生成一条记录,包括任务名、启动时间、时长等

    QRTZ_LOCKS

    • 分布式锁?用途不详

    QRTZ_CALENDARS

    QRTZ_BLOB_TRIGGERS

    QRTZ_FIRED_TRIGGERS

    QRTZ_PAUSED_TRIGGER_GRPS

    QRTZ_SCHEDULER_STATE

    QRTZ_SIMPLE_TRIGGERS

    QRTZ_SIMPROP_TRIGGERS

    7. 数据图表相关

    report_card

    • 记录数据图表信息,包括图表类型,创建人等等,但不包括查询SQL

    revision

    • 图表修改记录,包括创建图表,修改看板等

    report_dashboard

    • 记录数据看板信息,包括看板名,介绍信息,创建时间等
    • 一个数据看板包括多个数据图表,图表也可以没有数据看板

    report_dashboardcard

    • 记录图表在数据看板上的布局方式,包括长宽和坐标

    collection

    • 记录收藏夹信息,包括目录结构,注释等等

    8. 邮件推送相关

    pulse

    • 记录pulse(包括alerts)基本配置

    pulse_card

    • 记录图表与pulse的映射关系,以card_id和pulse_id为主,一个pulse可以包括多张图表

    pulse_channel

    • 记录pulse的发送渠道(email)和定时时间

    pulse_channel_recipient

    • 记录pulse和接收人的映射信息,仅包含pulse_id和user_id两个字段

    9. 其它

    setting

    • 全局配置表,网站上Settings → admin → General 页面的配置项均存在这里

    activity

    • setting → activity 页面展示的信息从该表获取,包括用户加入,图表创建等等

    view_log

    • 用户查看看板和图表的记录,用户每看一次图表/看板就记录一条信息

    未完待续
    card_label
    collection_revision
    computation_job
    computation_job_result
    report_cardfavorite
    dashboard_favorite
    dashboardcard_series
    data_migrations
    dependency
    dimension
    label
    metric_important_field

【Metabase二次开发 • 四】元数据解析相关推荐

  1. 第五章:【UCHome二次开发】模板解析

    UCHome模板文件位于/template文件夹下,每个模板文件单独一个文件夹,默认模板文件夹为default. 1.模板的使用配置 在根目录下的config.php中进行配 $_SC['templa ...

  2. ANSYS二次开发:Python解析ansys fluent结果文件

  3. CAD二次开发 Line类函数解析

    今天来分析我们平时最长使用的直线方法函数类,示例使用的是20版本的api,整理了一部分经常使用的. 属性 StartPoint 得到线段的起点坐标,返回Point3d类型 EndPoint 得到线段的 ...

  4. 从YARN迁移到k8s,滴滴机器学习平台二次开发是这样做的

    整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读]人工智能时代,机器学习已经渗透进每个领域,改变了这些领域的业务模式.技术架构以及方法论.随着深度学习技术近年来快速发展,高 ...

  5. java获取微信xml数据格式的文件_(5)微信二次开发 之 XML格式数据解析

    1.首先理解一下html html的全名是:HyperText Transfer markup language 超级文本标记语言,html本质上是一门标记(符合)语言,在html里,这些标记是事先定 ...

  6. 深度解析UG二次开发装配的部件事件、部件原型和部件实例

    做UG二次开发快一年了,每次遇到装配的问题涉及到部件事件.部件原型和部件实例还是一头雾水,什么是实例,什么是原型这些专业术语等等. 针对这个问题,今天专门写了一篇特辑,结合装配实例深度剖析装配过程中的 ...

  7. 【菠萝狗四足机器人】二次开发教程--第一章 【简介与开发环境搭建】

    Py-apple Dynamics 简介与开发环境搭建 1 简介 1.1 何为 菠萝狗 和 Py-Apple Dynamics 1.2 目前支持的功能 2 开发环境搭建 2.1 硬件的搭建 2.1 软 ...

  8. UG/NX二次开发Siemens官方NXOPEN实例解析—1.6 BlockStyler/SelectionExample

    列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析-1.1 BlockStyler/ColoredBlock UG/NX二次开发Siemens官方NXOPEN实例解析-1.2 Blo ...

  9. 第十四课 k8s源码学习和二次开发原理篇-调度器原理

    第十四课 k8s源码学习和二次开发原理篇-调度器原理 tags: k8s 源码学习 categories: 源码学习 二次开发 文章目录 第十四课 k8s源码学习和二次开发原理篇-调度器原理 第一节 ...

最新文章

  1. x VDC(x=3、5、6、8、12、24、48)继电器的引脚连接方式
  2. 98%的人没解出的德国面试逻辑题(离散数学篇)!?
  3. vim学习日志(7):替换、删除文件中的字符
  4. 还在用ViT的16x16 Patch分割方法吗?中科院自动化所提出Deformable Patch-based方法,涨点显著!...
  5. java中equals方法的用法以及==的用法(转)
  6. c语言读取excel表格_利用pandas处理excel表格
  7. 高阶函数-sort()与sorted() (三分钟读懂)
  8. 2018-2019-1 20189213《Linux内核原理与分析》第五周作业
  9. paip.c++ qt __gxx_personality_sj0 __gxx_personality_v0问题的解决
  10. ZOJ 1010. Area 解题报告
  11. python数据标注工具_数据标注|分享9个数据标注工具
  12. loadrunner11 post请求接口压力测试并生成报告
  13. 计算机主机硬件部分组成,台式电脑主机的硬件组成部分
  14. JS删除数组里的某个元素方法
  15. 《众妙之门——自由网站设计师成功之道》一1.8 自由职业者的财务管理
  16. Win10添加右键打开cmd和Powershell窗口(管理员/非管理员)
  17. 读完 Effective Java,我整理了 59 条技巧!(含pdf)
  18. psv登陆商店显示服务器,psv云服务器
  19. shell输入指定日期参数,输出该日期的前一天和后一天
  20. php程序yii是什么意思,【PHP开辟框架】yii是什么意义

热门文章

  1. 六种主要服务器管理协议简单概述-行云管家
  2. 推荐系统中常用的embedding方法
  3. 1028 - 输入一个三位数,把个位和百位对调后输出
  4. TouchGFX开发(1)----安装软件
  5. Visual Studio中的文件类型(sln vcproj suo user ncb)
  6. 二手车评估师类毕业论文文献有哪些?
  7. BUCK电路原理及PCB布局与布线注意事项
  8. 用逆向设计和回归算法估算PWM
  9. 怎样设置计算机u盘启动程序,设置u盘启动|教您怎么设置电脑U盘启动
  10. ESP8266局域网智能家居 路由器下作服务器模式串口透传 无线通信控制 arduino uno示例 模板参考