【数据中台建设系列之一】数据中台-元数据管理

news2024/11/18 7:49:28

本编文章主要介绍数据中台核心模块—元数据模块的一些建设经验分享,供大家一起交流学习。

一、什么是元数据

​ 元数据可以简单理解为是数据的"数据",它描述了数据的特征,属性,来源和其他一些数据的基本信息,常用来管理和使用数据,在数据中台概念中,元数据主要包括业务元数据和中台元数据两部分。

二、元数据基本组成

数据中台中的元数据主要包括数据源数据库数据表元字段四部分。
在这里插入图片描述
“数据源”,“数据库”,“数据表"和"字段"这4个名词相信大家都已经很熟悉了,不管是关系型数据库还是非关系型数据库都会包含这些基本信息,因此在这里就不做过多解释和说明。但眼尖的同学可能会发现图中引入了其他3个关键词"虚拟库”,“虚拟表”,“虚拟字段”,看到这,可能问题很多的小明就会发出灵魂三问:

  • 什么是虚拟库,虚拟表和虚拟字段?

  • 为什么要建设虚拟字段?

  • 怎么建设和使用虚拟字段?

如果你也有这样的问题,那么就请跟继续往下看:

2.1 什么是虚拟库,虚拟表和虚拟字段?

​ 数据中台的基本功能之一就是能够处理各种异构数据,这些数据可能是业务数据库数据,可能是埋点数据,也可能是日志数据。数据形式不同也必将导致采集这些数据的方式有所不同:对于业务数据库,可能倾向于CDC技术,而对于日志和埋点数据,可能更多的是考虑通过Kafka的方式采集。因此,数据源的创建应该是包含多种多样的,在这里,我们将MySQL,Oracle等定义为常见数据源,而将Kafka定义为虚拟数据源。

虚拟库和MySQL中的数据库是一个概念,如果我们把Kafka定义为虚拟数据源,那么虚拟库就是部分Topic的集合,而每个具体的Topic就是一张虚拟表,而Topic中每条数据的所有字段,就是虚拟字段。

2.2 为什么要虚拟字段?

​ 元数据贯穿数据中台所有模块,尤其在数据采集模块中使用最为复杂。举个例子,如果Kafka的某个Topic中数据需要接入到数仓中,Topic中有 a,b,c三个字段,而对应的数仓中的字段名为a,b,d,我们思考如下问题:

怎么准确接入这些字段?按照正常思路,我们可以采用字段名相等映射的方式将数据采集,那如果源字段名和目标字段名不一致,就会导致该字段不能被正常采集到数仓,所以为了避免出现因为字段名映射导致的问题,可以采用虚拟字段来做转换操作。
在这里插入图片描述

三、元数据基本设计流程

元数据主要包含3部分内容,每块内容都有自己的逻辑,下图是一个简单的设计流程图:

在这里插入图片描述

在元数据这里需要特殊说明以下几点:

  • 元数据同步方式

元数据同步可以自动同步,也可以手动同步。自动同步每半个小时同步一次,如果源库表结构发生变更,那就保留最新的结构信息,如果没发生改变,则不做更新。

其次,如果能够自动获取到外部数据源中的基本信息(比如查询MySQLinformation_schema数据库中tablescolumns),可以采用JDBC连接或者其他方式同步;如果是虚拟数据源类型,没办法做到自动同步,则只能通过手动方式变更(手动新增或删除字段映射关系)。

  • 元数据同步级别

元数据同步可以是数据源级别的,也可以数据库级别的,也可以是表级别的,数据源同步每次会全量同步某个数据源下的所有库和表,数据库同步每次只会同步选定数据库下的所有表,数据表同步只会同步当前表的结构信息,粒度从大到小,同步的数据量也从多到少。在使用场景中,数据库级别的同步适用于表新增的场景,数据表级别的同步使用于表结构变更的场景。

  • 字段元数据版本控制

在字段元数据设计过程中,保留版本概念,多次同步元数据时,保留同步的版本信息,在使用字段元数据时,根据版本号选择最新的。

四、总结

元数据设计与开发是数据中台开发的第一步,元数据结构设计好坏,会直接影响数据中台其他模块的使用方式,本编文章简单介绍了元数据设计的思路和注意事项,供大家参考。接下来,会为大家分享数据中台核心模块—数据采集的一些建设思路。

最后,如果你也喜欢数据中台,或正在开发数据中台,欢迎大家私信一起交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1047084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手机上记录的备忘录内容怎么分享到电脑上查看?

手机已经成为了我们生活中不可或缺的一部分,我们用它来处理琐碎事务,记录生活点滴,手机备忘录就是我们常用的工具之一。但随着工作的需要,我们往往会遇到一个问题:手机上记录的备忘录内容,如何方便地分享到…

基于微信小程序的停车场预约收费小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

数字文创产权版权登记保护多少重要

数字文创产权版权登记保护多少重要 在如今数字化时代,创作者们的作品往往以数字形式存储和传播,这给他们带来了无限的机遇,同时也伴随着一些挑战。在这个环境下,数字文创产权的版权登记显得尤为重要。它不仅能够保护创作者的利益&…

冲刺十五届蓝桥杯P0001阶乘求和

文章目录 题目描述思路分析代码解析 题目描述 思路分析 阶乘是蓝桥杯中常考的知识。 首先我们需要知道 int 和long的最大值是多少。 我们可以知道19的阶乘就已经超过了long的最大值,所以让我们直接计算202320232023!的阶乘是不现实的。 所以我们需要…

【逆向】在程序空白区添加Shellcode

目录 硬编码 内存对齐和文件对齐 节表 实战 滴水逆向03-17 #include <windows.h>LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) …

Springboot和Vue:六、ORM介绍+MybatisPlus快速上手

ORM和Mybatis(Plus)介绍 ORM&#xff08;Object Relational Mapping 对象关系映射&#xff09;即映射程序中的对象和数据库中的数据。 MyBatis是一款优秀的数据持久层ORM框架&#xff0c;能够非常灵活地实现动态SQL&#xff0c;可以使用XML或注解来配置和映射原生信息&#xf…

联想笔记本重装系统Win10步骤和详细教程

我们给笔记本电脑重装系统可以解决运行缓慢、出现错误提示等问题&#xff0c;恢复笔记本电脑的流畅运行状态。但是&#xff0c;很多使用联想笔记本电脑的用户不知道重装系统Win10的具体步骤&#xff0c;下面小编给大家介绍关于重装联想笔记本电脑Win10系统的方法步骤吧。 推荐下…

JAMA子刊:最新研究发现腰臀比更能预测死亡

肥胖会危害健康已经称为一个共识&#xff0c;评价肥胖的指标也有多种&#xff0c;例如体质指数&#xff08;BMI)、腰围等。比如BMI大于24为超重&#xff0c;大于28为肥胖&#xff1b;男性腰围≥90cm&#xff0c;女性腰围≥85cm为中心性肥胖。 这些肥胖界值的确定&#xff0c;主…

自制网页。

文章目录 注:代码中图片等素材均来自网络,侵删 20230920_213831 index.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-…

Java应用生产Full GC或者OOM问题如何定位

1 引言 生产应用服务频繁Full GC却无法释放内存&#xff0c;甚至可能OOM&#xff0c;这种情况很有可能是内存泄露或者堆内存分配不足&#xff0c;此时需要dump堆信息来定位问题&#xff0c;查看是哪些地方内存泄漏。 Dump文件也称为内存转储文件或内存快照文件&#xff0c;是…

uni-app:canvas绘制图形3

效果 代码 <template><view><!-- 创建了一个宽度为300像素&#xff0c;高度为200像素的canvas元素。canvas-id属性被设置为"firstCanvas"&#xff0c;可以用来在JavaScript中获取该canvas元素的上下文对象。 --><canvas style"width:200…

mysql面试题3:谈谈你知道的MySQL索引?MySQL中一个表可以创建多少个列索引?MySQL索引有哪几种?他们的优缺点是什么?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:谈谈你知道的MySQL索引? MySQL索引是一种特殊的数据结构,用于加速数据库的查询操作。它通过存储列值和对应记录的指针,可以快速定位到满足查询…

计算机竞赛 深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序

文章目录 0 简介1 背景意义2 数据集3 数据探索4 数据增广(数据集补充)5 垃圾图像分类5.1 迁移学习5.1.1 什么是迁移学习&#xff1f;5.1.2 为什么要迁移学习&#xff1f; 5.2 模型选择5.3 训练环境5.3.1 硬件配置5.3.2 软件配置 5.4 训练过程5.5 模型分类效果(PC端) 6 构建垃圾…

计算机网络-网络层总结

目录 网络层提供的两种服务 1、分组转发和路由选择 2、网络层提供的两种服务 网际协议IP 1、虚拟互联网 2、网际协议IP 3、异构网络互连 4、IPv4地址 概述 4.1分类编址的IPv4地址 4.2划分子网的IPv4地址 4.3无分类编址的IPv4地址 4.4IPv4地址的应用规划 4.5MAC地址…

使用 Spring Data Redis 访问 Redis 的 Spring Boot 应用

使用 Spring Data Redis 访问 Redis 的 Spring Boot 应用 Redis是一个高性能的内存键值存储数据库&#xff0c;常用于缓存、会话管理和消息队列等场景。Spring Boot通过Spring Data Redis提供了方便的方式来与Redis进行交互。在本文中&#xff0c;我们将详细介绍如何使用Sprin…

nodejs+vue 经典建筑网站elementui

第1章 项目概述 1 1.1 问题描述 1 1.2 项目目标 1 1.3 项目适用范围 2 1.4 项目应遵守的规范与标准 2 1.5 涉众 2 具有功能强大、支持跨平台、运行速度快、安全性高、成本低等优点。而对于后者我们使用 来完成它&#xff0c;使其网页功能完备&#xff0c;界面友好、易开发、易…

直方图投影法判断裂缝走势(裂缝类型)

裂缝类型 裂缝类型有很多种&#xff0c;这里我们仅仅判断线性裂缝与网状裂缝&#xff0c;线性裂缝按照其走势有可分为横向裂缝、纵向裂缝和斜向裂缝。 我觉得大家应当有这样的意识&#xff0c;面对网状裂缝&#xff0c;它的二维参数是否有意义&#xff1f;答案是没有&#xf…

宝塔Node部署nuxt3

宝塔Node部署nuxt3 1、首先本地执行打包 yarn build2、然后把目录中的这个文件压缩成zip 3、在宝塔文件处添加一个网站的文件目录&#xff0c;并把文件解压到里面 4、点击左侧的网站&#xff0c;然后选择node项目&#xff0c;选择node版本安装 5、安装完后&#xff0c;点击新…

【C语言】快速排序

文章目录 一、hoare版本二、挖坑法三、前后指针法四、非递归快排五、快速排序优化1、三数取中选key值2、小区间优化 六、代码测试 一、hoare版本 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff0c;其基本思想为&#xff1a;任取待排序元素序列中的某元素…

云中的网络Qos

在 Linux 下&#xff0c;可以通过 TC 控制网络的 QoS&#xff0c;主要就是通过队列的方式。 第一大类称为无类别排队规则&#xff08;Classless Queuing Disciplines&#xff09;。pfifo_fast 分为三个先入先出的队列&#xff0c;称为三个 Band。根据网络包里面 TOS&#xff0…