功能介绍
竞品:亚信、普元信息、网达、星环
元数据标准化程度
- 基本功能
数据地图
数据资产统计:通过数据地图了解数据的使用情况、分布等
元数据中心:整个元数据的输出就是数据地图,用户可以通过元数据中心查看表的元数据信息(技术元数据、业务元数据)、任务信息、血缘关系、使用信息等元模型
管理中心
数据管理
元模型、数据源管理,用于元数据手动、自动采集
元数据质量
数据治理:库表数据治理,分多维统计元数据完成情况,并实时通知
- 产品架构
存储、计算
元数据 MySQL 存储、图数据库,查询使用 clickhouse, 缓存分布式 redis
服务层
基础平台服务能力:元数据管理、元数据地图、管理中心、用户权限等
通知服务
站内信、短信、邮箱
元数据采集
kafka、hook插件、flume、sftp
安全服务
LDAP认证、kerberos
数据地图
核心功能:元数据信息展示、血缘关系
元数据信息展示
采集内容确认
··· 应用信息:应用名称、类型、状态、应用负责人、地址等
··· 库信息:ip 地址、实例名称、JDBC地址、库名称、归属部门、服务名称、用途、字符集、版本等
··· 表信息:owner或库名、字段名、字段类型、字段注释、大小、行数、创建时间、分区、索引等元模型确认
元模型决定元数据信息包括哪些内容,可以按照数据库的类型(hive、Hbase、mysql、oracle、ck、ES等)区分基础元模型
分类:技术信息、业务信息、权限信息
血缘关系
存在问题:覆盖率,字段级关系
建议:
··· 实现不了的,罗列规范,避免触碰
··· 能实现的尽量实现
··· 长期、大量测试,覆盖主要场景
··· 按照行业 TPC-DS 评测标准
··· 超出的按照新需求迭代开发
[TPC-DS] 提供 99 个 SQL查询,分析数据量大,测试数据与实际商业数据高度相似,同时具有各种业务模型(分析报告、数据挖掘等)
血缘关系从哪开始解析,存哪里?
血缘本质是解析SQL输出表和表之间的关系,SQL基本来自于ETL任务。通常做法为ETL实时传输数据给元数据,元数据进行解析,图数据库进行存储。
图数据库:Neo4j、TigerGraph、Amazon Neptune、janusGraph、ArangoDB
ETL 对接、如何确保100%覆盖?
ETL逻辑:保存 -> 提交 -> 次日运行
方案一:任务提交触发通过kafka将SQL以及任务信息传给元数据
表任务信息如何展示?
元数据以表作为维度查看其他信息,ETL以任务作为纬度查看表信息,一个表可能对应多个任务,实际我们只关心数据源自哪个任务
解决方案:ETL任务、目标表、源表对应关系,即表和任务对应关系接口
表使用信息怎么获取?
解决方案:日志,sftp 定时从 hive 获取 metastore 日志解析,只保证准确性,不保障时效性(T+1)
表更新如何捕获?
解决方案:全量同步做merge,将变更内容做记录
Hive 元数据变更的捕获:hive hook + kafka