当前位置: 首页 > news >正文

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

——结束

相关文章:

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

目录 一、前言 二、元数据简介 1、元数据定义 2、元数据分类 3、数据库元数据管理 三、GaussDB数据库的元数据管理 1、GaussDB数据库的元数据管理 2、通过“SQL 系统表/系统视图/系统函数”的方式管理(采集)元数据 1)获取表、视图及…...

合并两个有序链表 LeetCode热题100

题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 思路 遍历两个链表比较大小,按从小到大添加到链表即可。 代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* List…...

【C++】模拟实现string

目录 🌞专栏导读 🌛定义string类 🌛构造函数 🌛拷贝构造函数 🌛赋值函数 🌛析构函数 🌛[]操作符重载 🌛c_str、size、capacity函数 🌛比较运算符重载 &#…...

AI智慧安监视频监控汇聚平台EasyCVR调用接口出现跨域现象该如何解决?

视频监控汇聚EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视…...

无人机机巢有哪些,无人机机场/机场的主要分类

随着无人机技术的飞速发展,无人机已经渗透到了物流、农业、救援、公共安全等多个领域。而为了使这些无人机能更加高效、灵活地运行,一个新的概念应运而生,那就是无人机机巢(UAV Nest)。复亚智能无人机机巢是一种供无人…...

联想存储 HH0305_DE4000H 划分卷组、卷、主机

创建卷组 可使用卷组来创建可供主机访问的一个或多个卷。卷组是具有共同特性(如 RAID 级别和容量)的卷的容器。 关于本任务 如果拥有容量较大的驱动器且可以在控制器之间分发卷,则为每个卷组创建多个卷可以很好地利用存储容量和保护数据。…...

【Python机器学习】实验08 决策树

文章目录 决策树1 创建数据2 定义香农信息熵3 条件熵4 信息增益5 计算所有特征的信息增益,选择最优最大信息增益的特征返回6 利用ID3算法生成决策树7 利用数据构造一颗决策树Scikit-learn实例决策树分类决策树回归Scikit-learn 的决策树参数决策树调参 实验1 通过sk…...

MySQL的innoDB存储引擎如何解决幻读的问题?

MySQL的innoDB存储引擎如何解决幻读的问题 基本情况 MySQL有四种事务隔离级别,这四种隔离级别代表当存在多个事务并发冲突时,可能出现的脏读、不可重复读、幻读的问题InnoDB 在 RR 的隔离级别下 ,解决了幻读的问题幻读是指在同一个事务中&a…...

Web3.0:重新定义互联网的未来

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Web3.0:重新定义互联网的未来 Web3.0是指下一代互联网,也称为“分布式互联网”。相比于Web1.0和Web2.0,Web3.0具有更强的去中心化、…...

2023年还能选择前端吗?

前言 在Github2022的 Octoverse年度报告上,稳居最多使用榜首的语言可以看到是JavaScript,作为前端中最为关键的一部分,这说明即使现在,前端这一块仍然是大量的人涌进来,依然是火热,但是,一门语…...

sheetJs / xlsx-js-style 纯前端实现导出 excel 表格及自定义单元格样式

文章目录 一、安装二、创建基础工作表三、设置单元格宽度/高度/隐藏单元格四、分配数字格式五、超链接六、单元格注释七、公式八、合并单元格九、自定义单元格样式十、项目地址 一、安装 xlsx 地址:https://www.npmjs.com/package/xlsxSheetJs 地址:htt…...

Redis 报错 RedisConnectionException: Unable to connect to x.x.x.x:6379

文章目录 Redis报错类型可能解决方案 Redis报错类型 org.springframework.data.redis.connection. spingboot调用redis出错 PoolException: Could not get a resource from the pool; 连接池异常:无法从池中获取资源; nested exception is io.lettuce.core. 嵌套异常 RedisConn…...

Stable Diffusion - 真人照片的高清修复 (StableSR + GFPGAN) 最佳实践

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132032216 GFPGAN (Generative Facial Prior GAN) 算法,用于实现真实世界的盲脸恢复的算法,利用预训练的面部 GAN&#xf…...

细讲一个 TCP 连接能发多少个 HTTP 请求(一)

一道经典的面试题是从 URL 在浏览器被被输入到页面展现的过程中发生了什么,大多数回答都是说请求响应之后 DOM 怎么被构建,被绘制出来。但是你有没有想过,收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建…...

了解 CVSS:通用漏洞评分系统的应用

漏洞威胁管理至关重要,因为网络犯罪是一种持续存在的全球风险。网络犯罪分子愿意利用软件中的任何漏洞来访问网络和设备。对使用该软件的软件开发人员和组织的影响可能很严重。用户必须处理攻击的结果,例如赎金或数据盗窃,并且还可能面临法律…...

Xilinx FPGA电源设计与注意事项

1 引言 随着半导体和芯片技术的飞速发展,现在的FPGA集成了越来越多的可配置逻辑资源、各种各样的外部总线接口以及丰富的内部RAM资源,使其在国防、医疗、消费电子等领域得到了越来越广泛的应用。当采用FPGA进行设计电路时,大多数FPGA对上电的…...

前端:地图篇(一)

1、前言 在很多的出行程序中,都会使用到地图这一个功能,在实际的开发中我们也不会去开发一个自己的地图模型。如果自己开发一个地图模型,那么需要投入的成本、人力都是非常巨大的。所以我们很多网站和APP中使用的都是第三方的接口和JS&#…...

刷题笔记 day6

力扣 57 和为s的两个整数 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {vector<int> v;int i 0 , j nums.size()-1;while(i < j){if(nums[i] nums[j] > target){--j;}else if(nums[i] nums[j] < target){i…...

Drools用户手册翻译——第四章 Drools规则引擎(十一)复杂事件处理(CEP)的属性更改设置和监听器

甩锅声明&#xff1a;本人英语一般&#xff0c;翻译只是为了做个笔记&#xff0c;所以有翻译错误的地方&#xff0c;错就错了&#xff0c;如果你想给我纠正&#xff0c;就给我留言&#xff0c;我会改过来&#xff0c;如果懒得理我&#xff0c;就直接划过即可。 事实类型的属性…...

[数据分析与可视化] Python绘制数据地图4-MovingPandas入门指北

MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库&#xff0c;用于处理移动物体的轨迹数据。它提供了一组强大的工具&#xff0c;可以轻松地加载、分析和可视化移动物体的轨迹。通过使用MovingPandas&#xff0c;用户可以轻松地处理和分析移动对象数据&#x…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

Selenium 查找页面元素的方式

Selenium 查找页面元素的方式 Selenium 提供了多种方法来查找网页中的元素&#xff0c;以下是主要的定位方式&#xff1a; 基本定位方式 通过ID定位 driver.find_element(By.ID, "element_id")通过Name定位 driver.find_element(By.NAME, "element_name"…...