GaussDB数据库的元数据及其管理简介

目录

一、前言

二、元数据简介

1、元数据定义

2、元数据分类

3、数据库元数据管理

三、GaussDB数据库的元数据管理

1、GaussDB数据库的元数据管理

2、通过“SQL + 系统表/系统视图/系统函数”的方式管理(采集)元数据

1)获取表、视图及表字段等信息

2)获取定时任务信息

3)获取索引信息

4)获取存储过程、函数、触发器等信息

四、小结

一、前言

GaussDB是一种分布式的关系型数据库,元数据(表、列、视图、索引、存储过程等对象)是其重要的一部分。元数据是指描述数据的数据,包括数据的定义、结构、属性、关系等信息。本文以GaussDB物理数据库为主,结合元数据的概念简单介绍一下相关内容。

二、元数据简介

1、元数据定义

按照传统的定义,元数据(Metadata)是描述数据的数据。元数据主要记录数据库应用系统中模型的定义、各层级间的映射关系、监控数据库应用系统的数据状态及ETL的任务运行状态等。在数据库应用系统中,元数据可以帮助数据库管理员和开发人员非常方便地找到其所关心的数据,并用于指导其进行数据管理和开发工作,提高工作效率。

2、元数据分类

元数据可根据不同的维度进行分类,按用途的不同,可以分为两类:技术元数据(Technical Metadata)和业务元数据(Business Metadata)。

  • 技术元数据是存储关于数据库应用系统技术细节的数据,是用于开发和管理数据库应用系统使用的数据。技术元数据即为技术资产,显示数据库、数据表、数据量的数量及其详情。
  • 业务元数据从业务角度描述了数据库应用系统中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据库应用系统中的数据。业务元数据包含业务资产和指标资产,业务资产显示业务对象、逻辑实体、业务属性的数量及其详情,指标资产显示业务指标及其详情。

3、数据库元数据管理

元数据管理是对数据采集、存储、加工和展现等数据全生命周期的描述信息,帮助用户理解数据关系和相关属性。 数据库的元数据指的是关于数据库对象(如表、列、索引、视图、存储过程等)的信息,这些信息描述了这些对象的结构和属性。并且最终目标是服务于数据库应用系统的高效实施(开发、管理、维护等)。

三、GaussDB数据库的元数据管理

1、GaussDB数据库的元数据管理

通过登录GaussDB提供的“数据管理服务(DAS)” 工具,进入“库管理(Schema列表/对象列表/元数据采集)”主页面,可进行相关元数据的基础管理(如下图)。

GaussDB数据库对象列表:

  GaussDB数据库元数据采集(DAS工具内置功能):

Tip:对象列表数据来自实时查询(最多显示10000条),对数据库有一定的性能消耗,建议开启元数据自动采集。

2、通过“SQL + 系统表/系统视图/系统函数”的方式管理(采集)元数据

1)获取表、视图及表字段等信息

(1)PG_GET_TABLEDEF(tablename)系统信息函数,获取表定义信息。

SELECT * FROM PG_GET_TABLEDEF(‘test_1’);

 返回类型:text。说明:pg_get_tabledef重构出表定义的CREATE语句,包含了表定义本身、索引信息、comments信息。对于表对象依赖的group、schema、tablespace、server等信息。

(2)ADM_TABLES视图存储关于数据库下的所有表信息。主要字段:表的所有者、表名、存储表的表空间名、表的估计行数、是否为临时表等

SELECT * FROM ADM_TABLES;

 (3)DB_ALL_TABLES视图存储当前用户所能访问的表或视图。主要字段:表或视图的所有者、表或视图的名称、表或视图所在的表空间。

SELECT * FROM DB_ALL_TABLES;

 (4)DB_TABLES视图存储当前用户可访问的所有表。主要字段:表的所有者、表名、存储表的表空间名、表的估计行数、是否为临时表等。

SELECT * FROM DB_TABLES;

(5)ADM_TAB_COLUMNS视图存储关于表和视图的字段信息。数据库里每个表或视图的每个字段都在ADM_TAB_COLUMNS里有一行。主要字段:表的所有者、表的名称、列名、列的数据类型、列的字节长度等。

SELECT * FROM  ADM_TAB_COLUMNS;

 (6)DB_TAB_COLUMNS视图存储了当前用户可访问的表和视图的列的描述信息。主要字段:表的所有者、表的名称、列名、列的数据类型、列的字节长度等。

SELECT * FROM  DB_TAB_COLUMNS;

2)获取定时任务信息

MY_JOBS系统视图获取其定义信息。主要字段:作业创建者、作业执行者、作业对应的数据库名称、开始执行时间、结束时间、运行状态等。

--获取定时任务信息

SELECT * FROM MY_JOBS;

3)获取索引信息

PG_INDEXES系统视图获取表中的索引信息

-- 根据表名获取对应的索引信息

SELECT schemaname

      ,tablename

      ,indexname

      ,tablespace

      ,indexdef

FROM PG_INDEXES

WHERE TABLENAME = 'sell_info_full'

AND INDEXNAME IS NOT NULL;

4)获取存储过程、函数、触发器等信息

DB_SOURCE视图存储当前用户可访问的存储过程、函数、触发器的定义信息。该视图同时存在于PG_CATALOG和SYS schema下。  主要字段:对象的所有者、对象名字、对象类型(function, procedure, trigger)、存储对象的文本来源等。

SELECT * FROM DB_SOURCE;

GaussDB数据库元数据的获取/采集主要是以系统表、视图、函数等方式获取,其元数据不止包含TABLES、VIEWS、COLUMNS、SOURCE、JOB,还包括USERS、COMMENTS等。 具体可根据实际业务需要进行采集管理。

四、小结

元数据管理从技术角度,元数据管理着企业的数据源系统、数据平台、数据仓库、数据模型、数据库、表、字段以及字段间的数据关系等技术元数据。从业务角度,元数据管理着企业的业务术语表、业务规则、质量规则、安全策略以及表的加工策略、表的生命周期信息等业务元数据。从应用系统角度,元数据管理为数据提供了完整的加工处理全链路跟踪,方便数据的溯源和审计,这对于数据的合规使用越来越重要。通过数据血缘分析,追溯发生数据质量问题和其他错误的根本原因,并对更改后的元数据进行影响分析等。

GaussDB数据库的元数据管理是数据库系统管理工作的核心之一。它可以帮助用户更好地管理和维护数据库,提高数据的安全性和可靠性,减少数据丢失和损坏的风险。同时,元数据管理还可以帮助用户更好地理解和使用数据库,提高工作效率 。

——结束

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

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

相关文章

flutter开发实战-实现css线性渐变转换flutter渐变LinearGradient功能

flutter开发实战-实现css线性渐变转换flutter渐变LinearGradient功能 在之前项目开发中,遇到更换样式,由于从服务器端获取的样式均为css属性值,需要将其转换成flutter类对应的属性值。这里只处理线性渐变linear-gradient 比如渐变 “linear-…

【Linux操作系统】网络配置详解:从原理到实践(详细通俗讲明DNS)

导语:网络配置是Linux系统中的一项重要任务,合理的网络配置可以保证计算机与其他设备的正常通信。本文将详细介绍Linux网络配置的原理和实践,包括网络配置原理、查看网络IP和网关、测试网络连通性、网络环境配置、设置主机名和hosts映射以及主…

win10笔记本显示器根据页面显示亮度自动调节亮度的问题

系统是win10企业版,针对这个问题查了很多种方法,比如: 1、控制面板->硬件和声音->电源选项->点击当前电源计划的更改计划设置->更改高级电源设置->显示->启用自适应亮度 但是我发现我的电源计划只有平衡这一种&#xff0c…

申请科技型中小企业的好处有哪些?

科技型中小企业,这是由国家出台的,科技部认定的,对中小型企业的一种荣誉。这种企业是有一定数量的科技人员从事科技研究开发,有了一定成果并转化为高新技术产品或服务,实现可持续发展的中小企业。 申请科技型中小企业有…

【雕爷学编程】 MicroPython动手做(38)——控制触摸屏

MixPY——让爱(AI)触手可及 MixPY布局 主控芯片:K210(64位双核带硬件FPU和卷积加速器的 RISC-V CPU) 显示屏:LCD_2.8寸 320*240分辨率,支持电阻触摸 摄像头:OV2640,200W像素 扬声器&#…

【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试

目录 前言 http包的HandleFunc函数 http.Request/http.ResponseWriter httptest 定义被测接口 测试代码 测试执行 总结 资料获取方法 前言 Mock是一个做自动化测试永远绕不过去的话题。本文主要介绍使用标准库net/http/httptest完成HTTP请求的Mock的测试方法。 可能有…

【安装】阿里云轻量服务器安装Ubuntu图形化界面(端口号/灰屏问题)

阿里云官网链接 https://help.aliyun.com/zh/simple-application-server/use-cases/use-vnc-to-build-guis-on-ubuntu-18-04-and-20-04 网上搜了很多教程,但是我没在界面看到有vnc连接,后面才发现官网有教程。 其实官网很详细了,不过这里还是…

题解 | #1001.Count# 2023杭电暑期多校6

1001.Count 签到 题目大意 给定 n , m , k n,m,k n,m,k ,构造长度为 n n n 的整数序列,元素大小范围为 a i ∈ [ 1 , m ] a_i\in [1,m] ai​∈[1,m] ,并且需要保证前 k k k 个元素和后 k k k 个元素对应相同 求可以构造出的序列数量 …

Flink Windows(窗口)详解

Windows(窗口) Windows是流计算的核心。Windows将流分成有限大小的“buckets”,我们可以在其上应用聚合计算(ProcessWindowFunction,ReduceFunction,AggregateFunction或FoldFunction)等。在Fl…

【java安全】无Commons-Collections的Shiro550反序列化利用

文章目录 【java安全】无Commons-Collections的Shiro550反序列化利用Shiro550利用的难点CommonsBeanutils1是否可以Shiro中?什么是serialVersionUID?W 无依赖的Shiro反序列化利用链POC 【java安全】无Commons-Collections的Shiro550反序列化利用 Shiro5…

整数拆分——力扣343

文章目录 题目描述法一 动态规划法二 动态规划优化法三 数学 题目描述 法一 动态规划 int integerBreak(int n) {vector<int> dp(n1);for(int i2;i<n;i){int curMax 0;for(int j1;j<i;j){curMax max(curMax, max(j*(i-j), j*dp[i-j]));}dp[i] curMax;} return d…

AI赋能转型升级 助力打造“数智辽宁”——首次大模型研讨沙龙在沈成功举行

当前&#xff0c;以“ChatGPT”为代表的大模型正在引领新一轮全球人工智能技术发展浪潮&#xff0c;推动人工智能从以专用小模型定制训练为主的“手工作坊时代”&#xff0c;迈入以通用大模型预训练为主的“工业化时代”&#xff0c;正不断加速实体经济智能化升级&#xff0c;深…

量子机器学习解决方案新鲜出炉!Rigetti和ADIALab签署合作

​ &#xff08;图片来源&#xff1a;网络&#xff09; 近日&#xff0c;美国全栈量子经典计算的先驱Rigetti Computing宣布与阿拉伯联合酋长国的ADIA Lab签署了合作协议&#xff0c;双方将共同设计、构建、运行和优化量子计算解决方案&#xff0c;旨在解决概率分布分类问题&am…

spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集

&#x1f600;前言 本章是spring基于XML 配置bean系类中第7篇讲解spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&…

echarts图表渐变色 + 每个柱子不同颜色设置

echarts柱状图&#xff0c;默认所有柱子都是同一个颜色&#xff0c;显示效果差强人意&#xff0c;本文介绍如果修改成为每个柱子添加不同的颜色&#xff0c;以及如何添加渐变色&#xff0c;丰富图表的显示鲜果。先看效果&#xff1a; 每个柱子颜色不同 每个柱子都有自己的渐变…

Redis的缓存穿透、缓存击穿和缓存雪崩

目录 一、解释说明 二、缓存穿透 1. 什么是缓存穿透&#xff1f; 2. 常见的两种解决方案 &#xff08;1&#xff09;缓存空对象 &#xff08;2&#xff09;布隆过滤 3. 编码解决商品查询的缓存穿透问题 三、缓存雪崩 1. 什么是缓存雪崩&#xff1f; 2. 缓存雪崩解决方…

力扣 416. 分割等和子集

题目来源&#xff1a;https://leetcode.cn/problems/partition-equal-subset-sum/description/ C题解&#xff08;思路来源代码随想录&#xff09; &#xff1a; 背包问题有多种背包方式&#xff0c;常见的有&#xff1a;01背包、完全背包、多重背包、分组背包和混合背包等等。…

Prometheus实现系统监控报警邮件

Prometheus实现系统监控报警邮件 简介 Prometheus将数据采集和报警分成了两个模块。报警规则配置在Prometheus Servers上&#xff0c; 然后发送报警信息到AlertManger&#xff0c;然后我们的AlertManager就来管理这些报警信息&#xff0c;聚合报警信息过后通过email、PagerDu…

linux多线程

文章目录 linux多线程1. 相关概念1.1 线程概念详解线程 VS 进程线程的优点线程的缺点线程异常线程用途 1.2 页表详解 2. 线程控制2.0 POSIX线程库深入理解线程库使用C多线程接口在Linux环境创建多线程 深入理解线程id线程局部存储 2.1 线程的创建 - pthread_create线程创建时参…

计算机毕设 深度学习疫情社交安全距离检测算法 - python opencv cnn

文章目录 0 前言1 课题背景2 实现效果3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪 4 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两…