元数据管理和数据目录对于现代数据平台的重要性——Lakehouse架构(四)

文章目录

  • 前言
  • 解读元数据
    • 技术元数据
    • 业务元数据
  • 元存储和数据目录如何协同工作?
  • 数据目录的特点
    • 查询、检索和发现数据
    • 数据分类
    • 数据治理
    • 数据血缘

前言

Lakehouse 架构中的存储层负责存储整个平台的数据,要查询存储的这些数据,我们需要一个数据目录来帮助用户查询、检索和发现这些数据。

本文将对元数据、元存储和数据目录等重要概念进行说明。

解读元数据

就像我们需要流程来管理平台内的数据一样,我们也需要定义明确的方法来管理元数据,健全的元数据管理流程有助于简化平台用户的搜索和数据发现。

元数据通常被定义为“描述数据的数据”,它与数据本身一样重要。元数据通过提供描述数据的附加信息(如属性名称、数据类型、文件名、文件大小等)来帮助我们定义数据。

元数据提供了理解数据所需的结构和其他相关信息,元数据帮助用户发现、理解和找到满足其特定要求所需的相关数据。

元数据大致分为技术元数据和业务元数据。

技术元数据

技术元数据为我们提供有关数据的技术信息,比如说表的 schema 详细信息就是技术元数据,包括属性名称、数据类型、长度和其他相关约束,如下表所示展示了三个属性的元数据:

Attribute nameAttribute typeAttribute lengthAttribute constraint
product_idintegerNot Null
product_namestring100Null
product_categorystring50Null

与表类似,文件等其他对象也有元数据,文件元数据提供文件名、创建或更新时间、文件大小、访问权限等详细信息。CSV 文件也具有定义数据属性名称的HEADER, JSON 和 XML 文件中也包含属性名称。

业务元数据

业务元数据有助于理解数据的业务含义。业务元数据增强了技术元数据,为数据提供业务上下文。
下边是 Product 表的业务元数据:

Attribute technical nameAttribute business nameAttribute business meaning
product_id产品标识符产品的唯一标识符
product_name产品名称产品名称
product_category产品分类产品类别

技术和业务元数据对于更好地理解数据至关重要,完善的元数据管理应该包括对技术元数据和业务元数据都有的维护和管理功能,以及支持访问权限控制、敏感数据处理和数据共享的附加功能。

元存储和数据目录如何协同工作?

要想对元数据进行管理,并给用户提供数据对应的功能,我们需要一些解决方案和工具来实现此过程。元存储和数据目录就是帮助构建元数据管理重要的解决方案。

元存储(metadata)是元数据在数据平台物理存储的位置,它充当中央元数据存储系统,我们可以从此中央存储访问所有元数据。

数据目录(catalog)提供了一种访问元存储中存储的元数据的机制,它提供了检索元数据以及各种表和属性所需的与用户交互的界面。

下图展示了元存储和数据目录是如何关联,并使用户能够访问元数据的:

例如,在传统的本地Hadoop生态系统中,Hive提供了Hive Metastore(HMS)来存储元数据(用于在HDFS数据之上创建的Hive表)和Hive目录来访问HMS表。

数据目录是对元存储的逻辑概念抽象,帮助我们以有组织的方式管理元数据。它们帮助我们对数据进行权限访问控制,来保证数据安全。我们可以将目录进一步划分为表、视图和其他对象的数据库或 schema,以更细粒度的级别(例如schema 或表级别)管理用户访问权限。

下图显示了根据用户角色和权限访问特定目录的场景:

上图中,“X”业务单元的用户只能访问“X”业务单元关联的目录,“Y”业务单元用户只能访问“Y”业务单元关联的目录。

上边是使用元存储和数据目录的一个场景,我们在实际的业务中,需要结合实际的场景进行控制,比如说更细粒度的 schema 和表级别的权限控制,或者根据不同环境(开发,测试,生产)进行数据目录权限区分。


说明
业界经常使用术语“元存储”或“数据目录”来描述元数据存储系统。大多数现代云服务都提供数据目录功能,抽象元数据的物理存储,仅公开数据目录供用户浏览和访问schema、表和属性。每个目录背后都有一个物理存储,用于存储实际的元数据。

数据目录的特点

数据目录提供了几个关键功能,可帮助平台管理员组织、管理和治理数据。

查询、检索和发现数据

数据目录为用户提供了一种简单的机制来搜索所需的数据,并了解数据存在的位置(哪个schema、表、属性),以便他们可以查询数据。

数据目录还提供向表和属性添加业务描述的功能。

用户可查看数据目录、了解业务数据上下文并发现可能有助于他们进一步分析的数据。

数据分类

数据分类是根据一定的规范或标准对属性进行分类的过程,我们可以根据域(如客户、产品和销售)或敏感度(如机密、内部或公共)对属性进行分类。分类可以帮助用户理解数据并更好地利用数据。例如,分类为“内部”的属性表示用户不应在组织外部共享数据。在分类的过程中,我们还可以向元数据添加标签,并且可以通过标签去过滤查询想要的数据。

数据分类有助于管理数据、实施治理策略以及保护平台内的数据。

数据治理

数据目录充当数据的看门人,帮助实施数据治理策略,来管理、治理和访问整个公司的数据。

数据目录提供以下数据治理功能:

  • 支持对想要访问数据的用户进行细粒度的权限控制。
  • 通过对平台内存储的敏感数据进行过滤或抽象展示,来保护平台数据。
  • 支持实施用于维护数据质量的标准流程和政策
  • 实施合规性报告所需的审计流程,例如跟踪访问特定表或属性的用户。
  • 保证数据消费者数据共享数据的安全。

数据血缘

在大数据生态中,任何数据分析都包含多个作业,这些作业从源系统获取数据,对其进行转换,最后将其加载到目标存储中以供用户使用。可能有数百个表,每个表中有数千个属性,数据通过这些表在该生态系统内的各个组件之间流动。随着系统的发展,数据资产不断增加。要跟踪跨组件的数据流,我们需要一个跟踪机制来提供数据如何在这些数据源中流动的端到端详细信息,数据血缘就是对数据流动追踪的一种很好的展示。

数据目录可帮助我们实施数据血缘解决方案,来跟踪源属性和目标属性之间的关系。每当任何属性名称、类型或长度发生变化时,数据血缘还可以帮助分析其影响。它还可以帮助我们审查冗余或未被任何消费者使用的表等数据资产。

数据目录是一种支持公司内不同数据团队和数据角色之间协作的工具,它是技术和业务用户可以搜索和发现数据的中心位置。数据目录使团队能够弥合业务和 IT 之间的差距,并使业务用户能够利用它获取数据分析所需的数据。

关于数据血缘的详细描述可以查看我之前写的这篇文章:数据血缘对于数据平台的重要性

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

xgp怎么取消续费 微软商店xgp会员取消自动续费详细教程

xgp怎么取消续费 微软商店xgp会员取消自动续费详细教程 XGP这个游戏平台小伙伴们并不陌生吧,它是微软Xbox游戏部门推出的游戏租赁制会员服务,主要用于主机和PC两个平台。这个平台的会员就可以免费享受多款大制作游戏,而且每个月还会自动更新…

ruoyi-nbcio-plus基于vue3的flowable收回任务后重新进行提交表单的处理

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

JAVA毕业设计137—基于Java+Springboot+Vue的物流快递仓库管理系统(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的物流快递仓库管理系统(源代码数据库)137 一、系统介绍 本项目前后端分离,分为员工、销售员、仓库员、商品管理员、超级管理员五种角色 1、员工…

Linux 的情况下实现贪吃蛇 -- 第二十八天

1. 打印地图 keypad(stdsrc,1) 参数表示是否接收,1表示接收指令 2.思路:初始化initNcurses(), 封装地图函数实现地图gamePic() 分三部分实现:2.1: 在第0行:打印 "--",&quo…

矩阵连乘算法

矩阵连乘&#xff1a; #include<iostream> #define inf 0x7fffffff using namespace std; int a[256] { 0 };//存储矩阵的行和列 int m[256][256] { 0 };//存储i到j的最少计算次数 int s[256][256] { 0 };//存储i到j的中转站k void m_print(int i, int j) {if (i …

javaWeb项目-房屋房租租赁系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、JSP技术 JSP(Jav…

数据结构-二叉树-链式

一、链式二叉树的结构 typedef int BTNodeDataType; typedef struct BTNode {BTNodeDataType data;struct BTNode* left;struct BTNode* right; }BTNode; 二叉树的前中后序遍历 前序&#xff1a;根左右 中序&#xff1a;左根右 后序&#xff1a;左右根 void PreOrder(BTNo…

栈 、队列

1.stack的介绍和使用 1.1stack的介绍 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。 1.2 stack的使用 函数说明 接口说明 stack() 构造空的栈 empty() 检测stack是否为空 size…

Opencv | 边缘检测 轮廓信息

目录 一. 边缘检测1. 边缘的定义2. Sobel算子 边缘提取3. Scharr算子 边缘提取4. Laplacian算子 边缘提取5. Canny 边缘检测算法5.1 计算梯度的强度及方向5.2 非极大值抑制5.3 双阈值检测5.4 抑制孤立弱边缘 二. 轮廓信息1. 获取轮廓信息2. 画轮廓 一. 边缘检测 1. 边缘的定义…

【QT】Ubuntu22.04 配置 QT6.5 LTS

【QT】Ubuntu22.04 配置 QT6.5 LTS 文章目录 【QT】Ubuntu22.04 配置 QT6.5 LTS1.注册QT Group的账号2.安装QT Creator3.启动QT Creator报错from 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.4.运行QT的demoReference 1.注册QT Group的…

mysql buffer pool详解

介绍 缓冲池是InnoDB在访问表和索引数据时缓存的主内存区域。缓冲池允许直接从内存访问频繁使用的数据&#xff0c;这加快了处理速度。在专用服务器上&#xff0c;通常会将多达80%的物理内存分配给缓冲池。 为了提高大容量读操作的效率&#xff0c;缓冲池被划分为可能包含多行…

类与对象(三) 拷贝构造与赋值运算符重载

目录 1.拷贝构造 2.运算符重载&#xff08;日期类举例&#xff09; 1. 2.和 3. > > < < 4.赋值运算符重载 5.- 与- 6. -- 7.日期 - 日期 3.const成员函数 4.<<和>>重载 5.取地址重载 1.拷贝构造 拷贝构造也是一个构造函数。我们前…

Linux:动静态库介绍

动静态库 库的介绍开发环境 & 编译器库存在的意义库的实现库的命名静态库制作和使用总结 动态库的制作和使用动态库的使用方法方法一方法二方法三 库加载问题静态库加载问题动态库的加载问题与位置无关码 C/C静态库下载方式 库的介绍 静态库&#xff1a;程序在编译链接的时…

C++初识--------带你从不同的角度理解引用的巧妙之处

1.对于展开的理解 我们这里的展开包括命名空间的展开和头文件的展开&#xff0c;两者的含义是不一样的&#xff1a; 头文件的展开就是把头文件拷贝到当前的文件里面&#xff1b; 命名空间的展开不是拷贝&#xff0c;而是因为编译器本身默认是到全局里面去找&#xff0c;当我…

一些常见的Windows命令

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言看版本号查找端口启动程序杀死某个端口查看全部端口看ip进入目录就是总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#x…

Linux——匿名管道

为什么要有进程间通信&#xff1f; 在操作系统中&#xff0c;进程是独立运行的程序&#xff0c;多个进程之间要想互相协作完成任务&#xff0c;就需要进程间通信。 什么是进程间通信&#xff1f; 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程资源共享&#…

03-JAVA设计模式-解析器模式

解释器模式 什么是解析器模式 在Java中&#xff0c;解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为设计模式&#xff0c;它给定一个语言&#xff0c;定义它的文法的一种表示&#xff0c;并定义一个解释器&#xff0c;该解释器使用该表示来解释语言中的句子…

六、e2studio VS STM32CubeIDE之代码自动补全

目录 一、概述/目的 二、eclipse c/c自动补全 2.1 修改实现原理 2.2 修改插件cdt.ui的方法 2.2.1 资料来源 2.2.2 修改的主要流程或逻辑 2.2.3 失败的原因 三、呼吁st和Renesas厂家支持自动补全代码 六、e2studio VS STM32CubeIDE之代码自动补全 一、概述/目的 eclipse…

解决:前端bootstrap的fileInput插件

项目场景&#xff1a; 帮朋友做一个后台管理系统遇到文件上传回显异常的问题。 项目是单体架构&#xff0c;没有前后端分离&#xff0c;前端使用的bootstrap3Thymeleaf。上传插件用的是fileInput。 问题描述&#xff1a; 上传没有问题&#xff0c;完成后点击编辑再次进入无…

从本地创建项目到 Gitee 提交的完整教程

1、本地创建一个新项目 2.进入想上传的项目的文件夹&#xff0c;然后右键点击git bash 3.初始化本地环境&#xff0c;把该项目变成可被git管理的仓库 4.添加该项目下的所有文件到暂存区 5.使用如下命令将文件添加到仓库中去 6.在gitee上创建以自己项目名称命名的空项目 7.将本地…