一、业务背景

1、应用场景

在多变的数据服务场景中,应用中常见如下的业务需求,通过对多种数据结构的灵活组合,快速实现业务模型构建,整体示意图如下:

像常用的画图工具,左边提供基础图形库,中间是画布,右边是组件的控制细节,对比到这里的逻辑如下:

  • 字段面板:提供业务数据结构的字段映射,和常规字段类型配置,用来支撑组合面板的表单配置。

    • 数据结构:对现有业务结构做映射,可能是文件、数据表、JSON等,生成相对标准的字段选项;
    • 拓补字段:维护一批基础的字段类型,用来做拓补操作,完善整个业务结构;
  • 组合面板:承载字段的组合管理,生成新的数据结构,根据业务场景,完成底层数据的抽取存储或者API服务生成。

    • 业务主体:通过业务需求的判断,明确面板支撑的业务属性,通过基础结构组合新的业务主体;
    • 组合结构:面板上呈现的字段,是多个业务结构的抽取,即不同业务结构中的部分字段组合;
  • 规则面板:对组合面板上字段进行规制设定,常见涉及:描述,类型,默认值等,对面板字段进行相对统一的标准化管理。

    • 描述信息:对于组合面板上的字段描述,也可以是原有映射的结果,作为新业务主体的属性说明;
    • 类型维护:复杂的环节,不同数据类型在不同的存储中处理方式不同,需要统一维护类型存储映射;
    • 业务规则:对于新的业务主体,设置属性的规则,可以是:唯一性,默认值,等等;

2、构建服务

基于上述功能的实现,可以快速实现以下服务能力,通常应用在业务多变的场景中:

  • 数据主体构建:通过组合面板的结构生成,快速完成相关数据的抽取和存储,作为新的业务场景中的主体数据。

  • 服务API生成:在数据服务中,直接通过配置,生成API服务能力,并控制参数的响应结构,这种情况通常会以实时查询的方式处理。

  • 数据智能分析:在数据分析场景中,侧重统计的结果,基于字段和图表结构,生成相应的统计分析任务,灵活管理分析报表。

这里是简述相对单一的应用服务,如果把这里的流程分段放大,在整个数据服务体系下,就是围绕元数据管理的复杂的基础系统:围绕数据结构映射,进行元数据标准化管理,在此基础上二次组织数据,快速响应业务需求。在这样的流程下,可以快速建立业务链路,提供高效的服务能力,降低试错的成本。

二、元数据概念

1、基础描述

从定义上说,元数据(Metadata)即描述数据的数据,但是在实际使用的时候,还是存在很多细分的概念,看下面的案例:用户性别;

从细分角度看,可以对上面数据进行两块划分,即业务层与技术层:

  • 业务层:名称.释义.说明.值类型;
  • 技术层:路由库.路由表.存储类型.值类型;

这里的分层只是描述的侧重点,业务层偏向应用端,技术层偏向底层系统的交互和实现,在对性别的描述上都是核心维度。

所以从本质上看元数据,介于系统和业务中间,提供双方都能明白的语义和逻辑,可以更加高效的支撑数据的业务价值。

2、血缘关系

上面是从单个指标看元数据的结构,如果从整个链路上看,就会形成层级线路,通常称为血缘关系:

从上层业务侧追溯到底层结构,形成血缘关系的概念,概念本身并不重要的,背后的核心是链路的管理,链路上的节点(中间实体)是通过多种计算手段生成;

如果某个节点数据一旦出现质量问题,则需要根据这里的链路关系进行逐级向底层排查,完成问题修复后,还需要根据关系向上逐级修复清洗;如此通过血缘关系进行数据质量的分析和把控。

3、业务价值

元数据管理是一个持续又漫长的过程的,任何系统的搭建都需要业务来衡量其存在的价值,其核心逻辑在于:统一标准化管理元数据信息,规范业务层的定义,并通过技术层面快速定位数据,自动化抽取数据,灵活支撑业务应用。

  • 围绕核心业务:通常在项目初期的时候,只围绕一些核心业务主体,使其在使用的时候灵活高效,后续在持续扩展其他能力。

  • 数据成本分析:基于元数据中链路,分析各个节点数据的生产维护管理等成本,为数据服务中商业定价提供参考,可能直接影响服务是否可提供的决策。

  • 配置可视化:在数据服务平台中,最忌讳的一点就是靠手动去维护各种作业,不管在什么场景下,都要考虑可配置化管理,保证动作可追溯。

  • 流程自动化:不管是元数据结构映射,还是配置后数据的抽取,要保证指令生成后可以自动完成该一系列动作,并完成流程监控分析。

  • 资产化分析:通常会把元数据视为数据资产体系,因此围绕元数据去统计数据的使用情况,产生的价值,以及热点数据识别和分布,业务主体关联度等,并输出相应分析结果。

如果单从业务角度去看,元数据系统的存在,就是为了可以快速理解元数据,并且灵活的组织管理,以此降低服务能力的实现成本。

三、架构设计

1、系统分层

  • 采集层:元数据系统中的基础节点,架构体系的底层,维护元数据获取通道和映射管理以及落地存储,并实现结构管理和数据处理过程;在数据源中可能存在多种情况:数仓环境、文件结构等,在特定情况中,还需要一定程度的手动维护进行结构拓补;

  • 管理层:对于元数据核心能力打造,和相应的标准化管理,或者二次加工,数据源层面直接采集的数据通常不具备标准的业务语义,更多偏向技术侧的说明和逻辑,在经过标准化维护之后,在放开给应用层之前,还需要经过质量检测:例如工作城市,如果缺乏相应的枚举字典,显然是不合格的,必须经过必要的处理才能放开;即管理层放开的数据需要标准化和整体维度完善;

  • 应用层:基于元数据能力的应用层开发,对于实际业务场景提供解决方案和功能入口,以及相应的系统中用户权限隔离等基本功能;

从系统分层的角度理解流程并不复杂,但是实际的实现过程简直不堪回首,技术栈使用非常复杂,多个版本逻辑重构再重构,并且不断的改进优化,最终才能实现相对稳定的服务能力。

2、元数据采集

在采集数据的时候,面对的最大问题就是多种类数据源解析适配,以及数据调度任务的抽象,必须开发对应的工具来实现各种场景的元数据解析能力:

  • 解析能力:适配解析各种数据源特点,文件格式,SQL脚本,抽象任务等,完成标准元数据的转换沉淀;

  • 类型识别:十分复杂的一个节点,类型在描述数据的时候至关重要,结构化存储可以直接读取,文件类结构通常需要类型转换标识,任务流程会直接统一管理,依次保证数据在不同环境中的合理存储;

  • 更新消息:业务的发展中,各种数据结构是频繁变动的,这就需要与元数据系统进行同步,通常要向消息服务(总线)发送通知,然后触发元数据更新动作;

核心能力:结构与类型识别解析、获取初始化数据,并且通过消息通知线路,完成动态更新流程的触发。

3、元数据管理

核心能力的打造,通常在系统初期都是围绕基本能力和业务需求的方向,以求快速落地实现,提供业务支撑能力;

  • 基础能力:标准化元数据结构,进行结构存储和可搜索能力实现,这个节点进行统一维护,数据类型识别和转换是至关重要的;补充说一句,在数据平台中,都会存在类型服务系统,以提供相应的识别能力和规范不同场景下的转换;

  • 实体与关系:数据业务中两个核心概念,实体必然由属性构成这是常说的,实体之间维护的关系:关联、、绑定、输出、输入等,是构建血缘关系和数据链路的核心标识;

  • 数据抽取:基于对元数据的组织和实体的定义,生成数据抽取规则,进而完成数据的快速获取,后续就是对接具体的业务,例如数据存储方式,搬运方式,最终落地业务线使用;

  • 可视化分析:包括数据质量分析,链路与周期分析,血缘分析等,这类功能一般在核心业务能力完成之后,会按需求等级,逐步迭代实现;

通过核心能力的建设,以求实现对数据的快速定位,高效管理,灵活应用的目标,提高数据服务能力的效率,适应业务发展的多变性。

同系列:消息中间件改造 ┃ 数据服务系统设计 ┃ 业务数据清洗方案 ┃ 数字营销概念 ┃ 标签业务应用 ┃

四、源代码地址

GitEE·地址
https://gitee.com/cicadasmile
Wiki·地址
https://gitee.com/cicadasmile/butte-java-note/wikis

阅读标签

【Java基础】【设计模式】【结构与算法】【Linux系统】【数据库】

【分布式架构】【微服务】【大数据组件】【SpringBoot进阶】【Spring&Boot基础】

【数据分析】【技术导图】【 职场】

数据服务基础能力之元数据管理相关推荐

  1. 政务大数据服务安全能力要求分级方法

    声明 本文是学习github5.com 网站的报告而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 政务大数据服务安全能力要求分级方法 概述 本标准将大数据服务提供者的大数据服务安 ...

  2. 数据治理系列2:元数据管理—企业数据治理的基础

    导读:元数据管理是对企业涉及的业务元数据.技术元数据.管理元数据进行盘点.集成和管理,按照科学.有效的机制对元数据进行管理,并面向开发人员.最终用户提供元数据服务,以满足用户的业务需求,对企业业务系统 ...

  3. 数据治理系列(一):元数据管理 、数据血缘数据管理:

    一.什么是元数据管理? 为什么企业对自身内部的数据资产总是混沌不清?其实是缺少一种有效的工具来进行数据资产的梳理和盘点.而元数据管理工具就是一种有有效的盘点工具或手段.  元数据是企业中用来描述数据的 ...

  4. sqoop导出solr数据_Apache Atlas - 强大的元数据管理工具

    构建和安装Apache Atlas 构建Apache Atlas 下载 Apache Atlas 1.0.0 发行版源码, apache-atlas-1.0.0-sources.tar.gz, 从 d ...

  5. 元数据管理、治理、系统、建设方案、范例等

    [数据治理工具]–元数据系统 1.元数据系统 1.1 概述 如果想建设好元数据系统,需要理解元数据系统的相关概念,如数据.数据模型.元数据.元模型.ETL.数据血缘等等. 首先,要清楚数据的定义.数据 ...

  6. 数据治理:元数据及元数据管理策略、方法和技术

    导读:这篇文章来自笔者的<一本书讲透数据治理:战略.方法.工具与实践>,可能是电子版流出,不知被哪位大佬摘录到公众号上了.在公众号搜索了下,这篇文章还挺受欢迎,多个数据类公众号都转载了,全 ...

  7. 深度 | 面向云原生数据湖的元数据管理技术解析

    简介: 作者:沐远.明惠 背景 数据湖当前在国内外是比较热的方案,MarketsandMarkets市场调研显示预计数据湖市场规模在2024年会从2019年的79亿美金增长到201亿美金.一些企业已经 ...

  8. 【2017年第4期】大数据平台的基础能力和性能测试

    姜春宇1,2,魏凯1,2 1.中国信息通信研究院移动互联网与大数据部,北京 100191 2. 数据中心联盟大数据发展促进委员会,北京 100045 摘要:目前整个大数据技术还处于以开源方式为主导.多 ...

  9. 数据治理【元数据管理】

    目录 1.认识元数据 2.元数据的分类 3.元数据管理成熟度评估模型 4.元数据管理平台架构 4.1 元数据采集服务 4.2 元模型驱动的设计与开发 4.3 元数据管理服务 4.4 元数据访问服务 4 ...

最新文章

  1. 使用JavaMail发送邮件,465端口开启ssl加密传输
  2. 微信平台开发者:桥梁上的运动员
  3. VTK:Rendering之MotionBlur
  4. KillTimer析构函数
  5. 转:两种转换mysql数据编码的方法-latin1转utf8
  6. linux中的改变bin级别,Linux常用命令
  7. msf生成php,使用msfpayload生成后门(asp,aspx,php,jsp,exe)等
  8. Python Error: “ImportError: No module named six”,用自动安装解决依赖问题
  9. 新网邮箱手机服务器,使用qq邮箱进行服务器邮件代发
  10. 2017年杭州java面试题_2017年Java面试题整理
  11. iOS底层探索之LLVM(三)——自定义Clang插件(下)
  12. 网盘参差不齐,实测对比
  13. golang快速入门[3]-go语言helloworld
  14. 【爬虫】【原创】08 使用简单正则表达式爬取下厨房(早餐,午餐,晚餐)
  15. iphone铃声android铃声,iphone12如何设置铃声?iphone12更换铃声方式分享[多图]
  16. 【思考一】Android程序员想做手机游戏开发
  17. 什么是PHP高级工程师
  18. 一生中最值得珍藏的电影台词
  19. 中国四大发明原理//2021-2-6
  20. 【大咖专栏】如何配置CEPH RGW对象存储与公有云同步

热门文章

  1. 6-4-2:STL之list——list的模拟实现
  2. GLIBC中NPTL线程实现代码阅读
  3. windows route netstat arp命令
  4. LeetCode 695 岛屿的最大面积
  5. zip伪加密破解方法
  6. TCP/IP四层模型及各层协议首部详述(包含IOS7层)
  7. twisted系列教程六–继续重构twisted poetry client
  8. 七、内存、寄存器数据的传送
  9. 只有设置了 name 属性的表单元素才能在提交表单时传递它们的值
  10. SQL Server类型与C#类型对应关系