服务能力|数据服务基础能力之元数据管理( 二 )


所以从本质上看元数据 , 介于系统和业务中间 , 提供双方都能明白的语义和逻辑 , 可以更加高效的支撑数据的业务价值 。
2、血缘关系上面是从单个指标看元数据的结构 , 如果从整个链路上看 , 就会形成层级线路 , 通常称为血缘关系:

从上层业务侧追溯到底层结构 , 形成血缘关系的概念 , 概念本身并不重要的 , 背后的核心是链路的管理 , 链路上的节点(中间实体)是通过多种计算手段生成;
如果某个节点数据一旦出现质量问题 , 则需要根据这里的链路关系进行逐级向底层排查 , 完成问题修复后 , 还需要根据关系向上逐级修复清洗;如此通过血缘关系进行数据质量的分析和把控 。
3、业务价值元数据管理是一个持续又漫长的过程的 , 任何系统的搭建都需要业务来衡量其存在的价值 , 其核心逻辑在于:统一标准化管理元数据信息 , 规范业务层的定义 , 并通过技术层面快速定位数据 , 自动化抽取数据 , 灵活支撑业务应用 。

  • 围绕核心业务:通常在项目初期的时候 , 只围绕一些核心业务主体 , 使其在使用的时候灵活高效 , 后续在持续扩展其他能力 。
  • 数据成本分析:基于元数据中链路 , 分析各个节点数据的生产维护管理等成本 , 为数据服务中商业定价提供参考 , 可能直接影响服务是否可提供的决策 。
  • 配置可视化:在数据服务平台中 , 最忌讳的一点就是靠手动去维护各种作业 , 不管在什么场景下 , 都要考虑可配置化管理 , 保证动作可追溯 。
  • 流程自动化:不管是元数据结构映射 , 还是配置后数据的抽取 , 要保证指令生成后可以自动完成该一系列动作 , 并完成流程监控分析 。
  • 资产化分析:通常会把元数据视为数据资产体系 , 因此围绕元数据去统计数据的使用情况 , 产生的价值 , 以及热点数据识别和分布 , 业务主体关联度等 , 并输出相应分析结果 。
如果单从业务角度去看 , 元数据系统的存在 , 就是为了可以快速理解元数据 , 并且灵活的组织管理 , 以此降低服务能力的实现成本 。
三、架构设计1、系统分层
  • 采集层:元数据系统中的基础节点 , 架构体系的底层 , 维护元数据获取通道和映射管理以及落地存储 , 并实现结构管理和数据处理过程;在数据源中可能存在多种情况:数仓环境、文件结构等 , 在特定情况中 , 还需要一定程度的手动维护进行结构拓补;
  • 管理层:对于元数据核心能力打造 , 和相应的标准化管理 , 或者二次加工 , 数据源层面直接采集的数据通常不具备标准的业务语义 , 更多偏向技术侧的说明和逻辑 , 在经过标准化维护之后 , 在放开给应用层之前 , 还需要经过质量检测:例如工作城市 , 如果缺乏相应的枚举字典 , 显然是不合格的 , 必须经过必要的处理才能放开;即管理层放开的数据需要标准化和整体维度完善;
  • 应用层:基于元数据能力的应用层开发 , 对于实际业务场景提供解决方案和功能入口 , 以及相应的系统中用户权限隔离等基本功能;
从系统分层的角度理解流程并不复杂 , 但是实际的实现过程简直不堪回首 , 技术栈使用非常复杂 , 多个版本逻辑重构再重构 , 并且不断的改进优化 , 最终才能实现相对稳定的服务能力 。
2、元数据采集在采集数据的时候 , 面对的最大问题就是多种类数据源解析适配 , 以及数据调度任务的抽象 , 必须开发对应的工具来实现各种场景的元数据解析能力: