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

MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点5:数据字典(Data Dictionary)

文章目录

  • MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点5:数据字典(Data Dictionary)
    • File-based Metadata Storage (基于文件的元数据存储)
    • Transactional Data Dictionary (事务数据字典)
    • Serialized Dictionary Information (SDI) :数据字典的序列化(持久化存储)
    • Dictionary Object Cache(数据字典对象缓存)
    • 例题
    • 参考

【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。
编辑|SQL和数据库技术(ID:SQLplusDB)

MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点5:数据字典(Data Dictionary)

元数据 是数据库中描述数据的数据,包括各种数据库对象的定义,例如:

  • 表和列的定义
  • 索引和约束的定义
  • 用户和权限的定义

而数据字典就是存储元数据的地方。

File-based Metadata Storage (基于文件的元数据存储)

MySQL 8.0之前的版本,数据字典中的元数据是存放在不同的元数据文件中。

File TypeDescription
.frm files表的元数据文件。
.par files分区定义文件。
随着InnoDB表的本地分区支持的引入,在MySQL 5.7中InnoDB停止使用分区定义文件。
.TRN files触发器命名空间文件。
.TRG files触发器参数文件。
.isl filesInnoDB符号链接文件,包含在数据目录之外创建的文件表空间文件的位置。
db.opt files数据库配置文件。
每个数据库目录有一个这样文件,包含数据库默认字符集属性。
ddl_log.log file元数据操作记录文件。
该文件包含由数据定义语句(如DROP TABLE和ALTER TABLE)生成的元数据操作记录。

Transactional Data Dictionary (事务数据字典)

从MySQL 8.0开始,数据字典信息集中存放在InnoDB的数据字典表中。

  • 数据字典表归属于mysql database
  • 存放在一个单一的InnoDB表空间中,即在MySQL数据目录中名为mysql.ibd的文件
  • INFORMATION_SCHEMA的一些表和 SHOW 语句作为访问数据字典的接口

Serialized Dictionary Information (SDI) :数据字典的序列化(持久化存储)

MySQL 8.0开始对数据字典的存储进行了修改,即将存储在.frm、.par、.TRN等系统文件中的数据字典信息存储到InnoDB的字典表中。
同时,除了在数据字典中存储元数据外,MySQL还以序列化(SDI)的形式存储它。

Serialized Dictionary Information (SDI)是MySQL中存储关于数据库对象的元数据(数据字典)的一种形式,用于提供元数据的冗余性。
SDI数据通过对表进行DDL操作或CHECK TABLE FOR UPGRADE进行更新,并且以JSON格式存储。

对于SDI信息的存储,会根据存储引擎的不同有所不同:

  • InnoDB将SDI数据与数据一起存储在其表空间文件中。
    -除了临时表空间和撤销表空间文件外,SDI存在于所有InnoDB表空间文件中。
    -InnoDB表空间文件中的SDI记录仅描述表和表空间对象。
  • NDBCLUSTER将SDI数据存储在NDB字典中。
  • 其他存储引擎(如MyISAM等)将SDI数据存储在数据库目录中的.sdi文件中。

参考:
https://dev.mysql.com/doc/refman/8.0/en/serialized-dictionary-information.html

对于SDI信息,可以通过MySQL提供的ibd2sdi工具进行查看和转储。

关于ibd2sdi工具可以参考如下文章:

【MySQL】ibd2sdi工具介绍和使用
https://teacherwhat.blog.csdn.net/article/details/132917728

Dictionary Object Cache(数据字典对象缓存)

数据字典对象缓存是一个共享的全局缓存,将先前访问过的数据字典对象存储在内存中,以实现对象的重用并最小化磁盘I/O。
与MySQL使用的其他缓存机制类似,数据字典对象缓存使用基于LRU的驱逐策略,从内存中驱逐最近未使用的对象。
数据字典对象缓存由存储不同对象类型的缓存分区组成。
某些缓存分区的大小限制是可配置的,而其他分区的大小是硬编码的。

Cache PartitionDescriptionVariableDefault value
tablespace definition cache partitionStores tablespace definition objectstablespace_definition_cache256
schema definition cache partitionStores schema definition objectsschema_definition_cache256
table definition cache partitionStores table definition objectsmax_connections151
stored program definition cache partitionStores stored program definition objectsstored_program_definition_cache256
character set definition cache partitionStores character set definition objects-hardcoded object limit of 256
collation definition cache partitionStores collation definition objects-hardcoded object limit of 256

参考:
https://dev.mysql.com/doc/refman/8.0/en/data-dictionary-object-cache.html

例题

Choose three.
Which three methods display the complete table definition of an InnoDB table?A) hexdump -v -C table.frm
B) REPAIR TABLE table USE_FRM
C) mysqldump --no-data schema table
D) Query the Information Schema.
E) SELECT * FROM table 1\G
F) SHOW CREATE TABLEAnswer:CDF

参考

Chapter 14 MySQL Data Dictionary
https://dev.mysql.com/doc/refman/8.0/en/data-dictionary.html

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-0.html#mysqld-8-0-0-data-dictionary
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-12.html#mysqld-8-0-12-data-dictionary

相关文章:

MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点5:数据字典(Data Dictionary)

文章目录 MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点5:数据字典(Data Dictionary)File-based Metadata Storage (基于文件的元数据存储)Transactional Data Dictionary (事务数据字典)Serialized Dictionary Informat…...

7分钟了解ChatGPT是如何运作的

ChatGPT是现在最为热门的聊天助手应用,它使用了一个大型语言模型(LLM),即GPT-3.5。它通过大量的文本数据进行训练,以理解和生成人类语言。但是,你是否有了解过ChatGPT是如何运作的吗? 下面我们就一起通过这个视频来一起…...

蓝桥杯打卡Day8

文章目录 C翻转矩阵幂 一、C翻转IO链接 本题思路:本题需要找出顺时针旋转和逆时针旋转的规律,然后就可以解决该问题。 矩阵顺时针90旋转规律:列号变为行号,(n-行号-1)变为列号 规律:a[i][j]b[j][n-i1]; 矩阵逆时针90旋转规律:行号变为列号&#xff0…...

React 学习笔记目录

学习使用的开发工具 编译器 VSCode 开发语言工具 TypeScript /JavaScript 重要程度分类 一般 这个程度的知识点主要是达到熟练掌握即可,不用太深入研究和学习。 重要 这个程度的知识点主要是达到熟练掌握,并且内部的原理切要熟记,因为会关…...

一起Talk Android吧(第五百五十一回:如何自定义SplashScreen)

文章目录 概念介绍实现方法修改启动页中的内容修改启动页显示时间修改启动面消失时的页面各位看官们大家好,上一回中咱们说的例子是"如何适配SplashScreen",本章回中介绍的例子是" 如何自定义SplashScreen"。闲话休提,言归正转,让我们一起Talk Android…...

PYTHON-模拟练习题目集合

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…...

UE5学习笔记(1)——从源码开始编译安装UE5

目录 0. 前期准备1. Git bash here2. 克隆官方源码。3. 选择安装分支4. 运行Setup.bat,下载依赖文件5. 运行GenerateProjectFiles.bat生成工程文件6. 生成完成,找到UE5.sln/UE4.sln7. 大功告成 0. 前期准备 0.1 在windows的话,建议装一个Git…...

DP读书:《openEuler操作系统》(二)操作系统的发展史

操作系统的发展历史 操作系统的发展历史手工操作时代批处理系统多道程序系统分时操作系统CTSSMULTICS的历史UNIX和Linux的历史Debian系列Red Hat系列 DOS和Windows的历史DOS的历史:Windows的历史: Android和iOS的历史Android:iOS:…...

SQL sever中相关查询

目录 一、简单查询 二、条件查询 三、别名查询 四、分组查询 五、排序查询 六、去重查询 七、分页查询 八、模糊查询 九、表连接查询 十、子查询 十一、嵌套查询 一、简单查询 简单查询是最基本的查询类型,用于从数据库中选择特定列或所有列的数据。 1…...

Java手写IO流和案例拓展

Java手写IO流和案例拓展 1. 手写IO流的必要性 在Java编程中,IO流是非常重要的概念。尽管Java已经提供了许多现成的IO类和方法,但是了解IO流的底层实现原理,能够手写IO流是非常有必要的。手写IO流可以帮助我们更深入地理解IO的工作原理&…...

Linux入门教程||Linux 文件与目录管理

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。 在开始本教程前我们需要先知道什么是绝对路径与相对路径。 绝对路径: 路径的写法,由根目录 /…...

MyBatis获取参数值的两种方式#{}和${} 以及 获取参数值的各种情况

一、参数值的两种方式#{}和${} 在 MyBatis 中,可以使用两种方式来获取参数值:#{} 和 ${}。 1. #{}:这是 MyBatis 推荐使用的方式。在 SQL 语句中使用 #{},MyBatis 会自动将参数值进行预编译处理,防止 SQL 注入攻击&a…...

(手撕)数据结构--->堆

文章内容 目录 一:堆的相关概念与结构 二:堆的代码实现与重要接口代码讲解 让我们一起来学习:一种特殊的数据结构吧!!!! 一:堆的相关概念与结构 在前面我们已经简单的学习过了二叉树的链式存储结…...

[运维|数据库] MySQL 中的COLLATE在 PostgreSQL如何表示

在 PostgreSQL 中,字符集(collation)和排序规则(collation order)的概念与 MySQL 类似,但语法和用法略有不同。在 PostgreSQL 中,字符集和排序规则通常是数据库、表或列级别的设置,而…...

【Linux】tar 与 zip 命令

tar 命令 tar 本质上只是一个打包命令,可以将多个文件或者文件夹打包到一个 tar 文件中,结合其他的压缩程序再将打包后的档案文件压缩。 所以看到 .tar.gz, .tar.bz2, .tar.xz 等等文件其实是 tar 文件之后进行 Gzip, Bzip2, XZ 压缩之后的文件。 tar…...

VS2015+opencv 3.4.6开发环境

VS2015+opencv 3.4.6开发环境 一、安装包下载二、安装过程三、VS环境配置四、测试一、安装包下载 这里提供两种下载方法:   1. opencv官网   2. csdn资源下载 二、安装过程 2.1 下载opencv-3.4.6 安装包 2.2 双击开始安装,选择要安装目录,点击Extract。  2.3 等待解…...

[运维|数据库] 将mysql的null.unix_timestamp(now()) * 1000转为PostgreSQL的语法

在 PostgreSQL 中,您可以使用以下方式将 MySQL 中的 UNIX_TIMESTAMP 和 NOW() 函数的组合转换为等效的语法: EXTRACT(EPOCH FROM NOW()) * 1000在这个 PostgreSQL 表达式中: EXTRACT(EPOCH FROM NOW()) 获取当前时间戳的秒数。 2. * 1000 将…...

springboot使用filter增加全局traceId,方便日志查找

一&#xff1a;引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> 二&#xff1a;编写过滤器&#xff1a; package com.example.demo.filter;import or…...

面经学习三

目录 Java 与 C 的区别 面向对象和面向过程的区别 面向对象特性 Java的基本数据类型 深拷贝和浅拷贝 Java创建对象的几种方式 final, finally, finalize 的区别 Java 与 C 的区别 Java 是纯粹的面向对象语言&#xff0c;所有的对象都继承自 java.lang.Object&#xff0c…...

Open3D 点云配准——可视化匹配点对之间的连线

点云配准 一、算法原理1、概述2、主要函数二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、概述 可视化源点云和目标点云中匹配点对之间的连线,这对于点云配准,尤…...

io多路复用之poll的详细执行过程

1.结构体struct pollfd的定义 struct pollfd { int fd; /* 文件描述符 */ short events; /* 想要监视的事件&#xff08;input/output/priority&#xff09; */ short revents; /* 实际发生的事件&#xff08;返回的事件&#xff09; */ }; 2.定义po…...

网络安全深入学习第四课——热门框架漏洞(RCE— Log4j2远程代码执行)

文章目录 一、log4j2二、背景三、影响版本四、漏洞原理五、LDAP和JNDI是什么六、漏洞手工复现1、利用DNSlog来测试漏洞是否存在2、加载恶意文件Exploit.java&#xff0c;将其编译成class文件3、开启web服务4、在恶意文件Exploit.class所在的目录开启LDAP服务5、监听反弹shell的…...

大数据Flink(八十一):SQL 时区问题

文章目录 SQL 时区问题 ​​​​​​​一、SQL 时区解决的问题...

Input子系统 - Kernel驱动程序 - Android

Input子系统 - Kernel驱动程序 - Android 1、Input子系统相关定义1.1 代码位置1.2 input_dev结构体&#xff1a;表示输入设备1.3 input_handler结构体&#xff1a;struct input_handler - implements one of interfaces for input devices1.4 input_handle结构体&#xff1a;将…...

MySQL里的查看操作

文章目录 查看当前mysql有谁连接查看数据库或者表 查看当前mysql有谁连接 show processlist;查看数据库或者表 列出所有数据库&#xff1a; show databases;查看正在使用的数据库&#xff08;必须大写&#xff09;&#xff1a; SELECT DATABASE();列出数据库中的表&#xf…...

Vim的基础操作

前言 本文将向您介绍关于vim的基础操作 基础操作 在讲配置之前&#xff0c;我们可以新建一个文件 .vimrc&#xff0c;并用vim打开在里面输入set nu 先给界面加上行数&#xff0c;然后shift &#xff1b;输入wq退出 默认打开&#xff1a;命令模式 在命令模式中&#xff1a…...

十天学完基础数据结构-第一天(绪论)

1. 数据结构的研究内容 数据结构的研究主要包括以下核心内容和目标&#xff1a; 存储和组织数据&#xff1a;数据结构研究如何高效地存储和组织数据&#xff0c;以便于访问和操作。这包括了在内存或磁盘上的数据存储方式&#xff0c;如何将数据元素组织成有序或无序的集合&…...

神经网络 03(参数初始化)

一、参数初始化 对于某一个神经元来说&#xff0c;需要初始化的参数有两类&#xff1a;一类是权重W&#xff0c;还有一类是偏置b&#xff0c;偏置b初始化为0即可。而权重W的初始化比较重要&#xff0c;我们着重来介绍常见的初始化方式。 &#xff08;1&#xff09;随机初始化 …...

div设置圆角#前端

要在 div元素上设置圆角&#xff0c;您可以使用 CSS 的 border-radius 属性。 这个属性允许您指定元素的边角为圆角&#xff0c;可以将其应用于一个或多个边角。以下是一些示例代码&#xff1a;1.设置所有四个边角为圆角&#xff1a; div {border-radius: 10px; /* 设置所有四…...

Windows开机密码破解

Windows11以及Windows10(21H2)以上版本 先开机&#xff0c;不进行任何操作&#xff0c;静静的等待登录界面 按住Shift重启 进入“选择一个选项”界面&#xff0c;点击疑难解答 点击高级选项 点击命令提示符 输入两行命令 copy C:\windows\system32\uti1man.exe C: \Window…...

湛江网站建设方案优化/关于友情链接的作用有

更多内容请查看&#xff1a;BizTalk动手实验系列目录 BizTalk 开发系列 BizTalk 培训/项目开发/技术支持请联系&#xff1a;Email:cbcyelive.com &#xff0c; Wechat/Mobile: 86 18511575973 在BizTalk系统管理过程中系统日志一直占据重要的位置&#xff0c;不管是应用程序的错…...

吉安百度seo/求职seo推荐

目录 在Python中返回数组的最大值或忽略任何NaN的最大值 NumPy.nanmax() 方法 示例 1: 示例 2: 示例 3: 返回Python中用scimath将输入值提高到的幂的结果 NumPy.lib.scimath.power 方法 示例 1: 示例 2:...

点击最高的模板网站/搜索引擎优化主要包括

先说下我这个有啥好处 主要是能够自定义设置裁剪图片的比例.比如 :今天产品 给你说裁剪 成16:9 的图片. 你做好了 OK 明天 产品又和你说 裁剪成10:7 的图片 ,你是不是要吐血, 我这里只要设置一行代码就可以改变裁剪的比例.OK 还是老规矩 先上效果图 看看啥样子好了 不扯其他的了…...

个人网站的网页/百度推广公司哪家比较靠谱

采用递归的方式实现基本的四则运算。 首先弄清楚四则运算的优先级&#xff0c;比如一个混杂加法和减法的式子&#xff0c;减法的优先级要高于加法&#xff0c;也就是你从左往右算&#xff0c;先算减法是正确的&#xff0c;先算加法会得到错误的答案。比如3-21&#xff0c;先算…...

做网站被骗没有居住证能不能告他/小网站怎么搜关键词

ThinkPHP 5.0 MongoDb驱动 首先安装官方的mongodb扩展&#xff1a; http://pecl.php.net/package/mongodb 找到对应的php版本的扩展 然后&#xff0c;配置应用的数据库配置文件database.php的type参数为&#xff1a; type > \think\mongo\Connection, 即可正常使用M…...

做视频教育网站/无锡seo公司找哪家好

HTTPS和HTTP的区别主要如下&#xff1a; 1、https协议需要到ca申请证书&#xff0c;一般免费证书较少&#xff0c;因而需要一定费用。 2、http是超文本传输协议&#xff0c;信息是明文传输&#xff0c;https则是具有安全性的ssl加密传输协议。 3、http和https使用的是完全不…...