专栏首页AustinDatabasesMYSQL 8 Serialized Dictionary Information

MYSQL 8 Serialized Dictionary Information

随着MYSQL 8 越来越稳定,并且开始使用的人和公司越来越多起来,掌握MYSQL 8 的工具变得越来越重要。不赶到别人前头,那就只能follower.

MYSQL 8 与MYSQL 5.7之间的变动中,最大的一个变动就是数据字典的原子性得到了保证。再也不是FRM 文件和Idb文件,在进行数据表的DDL部分操作中,总有那么些恐慌。而其中重大的改变其中有一条叫 Serialized Dicitionary information.

之前MYSQL 5.X有一个工具集,其中可以通过mysqlfrm (通过PYTHON)撰写的工具集来在MYSQL 停机的状态下读取FRM 文件,并展示出表的结构。而MYSQL 8 将不再有这样的东西,并且工具集其实也早就下线了,所以MYSQL 8 推出了新的方式来读取数据的格式文件。

这个工具就是 ibd2sdi

我们可以通过ibd2sdi来在系统启动的情况下,来读取数据的表结构,并输

出成json格式。

在MYSQL 8 中字典表将不能进行查看,如果需要查看则在编译MYSQL时需要添加debug参数,并且需要运行特殊的命令来进行数据的查看。

为什么要这样干,主要的原因是原先的MYSQL 5.x 的字典表难以扩展,并且不具有一致性,而MYSQL8 则改掉这个问题,将数据字典以 SDI的方式以JSON的方式进行存储。

通过工具我们初步看到了SDI 的信息,但具体SDI 带来了什么

1 进行DDL 操作时,由于非事务存储造成的非一致性

2 当DDL 操作失败时可以安全的 Crash

3 避免了复制是具有挑战性的问题因为 DDL 不具有原子性

4 表结构的扩展困难的问题

5 添加了SDI 的cache,通过添加了元数据metadata的cache来加速数据的查询,通过LRU的方式来管理相关CACHE

同时这样做也是有弊端的,就是DDL 时可能需要更多的时间,因为他要重新写入存储,undo log , redo log 而不再是直接写入到frm文件了

上图也是8.0新添加的功能,以前我们读取表的status 是直接进行读取的,而mysql 8.014后的版本,添加上面的参数,读取的表的status是去读取缓存,而要刷新缓存,可以通过上的挑战过期时间或者analyze table.

本文分享自微信公众号 - AustinDatabases(AustinDatabases),作者:carol11

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MYSQL 8 vs MYSQL 5.7 ORACLE 到底怎么想的? (二)

    1 在MYSQL 5.7 临时表包含了一个 "converting HEAP to on disk", 意思当临时表达到最大的内存使用的限制(一个表一个)16M...

    AustinDatabases
  • “偶遇” 爱可生 与 MYSQL 大型应用

    今天“偶遇” 爱可生的技术人员,经过了两个小时的交流,又重塑的我对大型系统中对MYSQL 的应用, 这绝对不是广告,这绝对不是广告,这绝对不是广告,重要的还的说...

    AustinDatabases
  • 人生呀,如梦,MYSQL 8.0.15-5

    人生呀,如梦,我觉得只要不投降,就是成功。(周星驰的电影都是多年后成为经典的,这也许就是一种成功)。MYSQL 其实作为数据库产品,对比其他数据库产品(不管收费...

    AustinDatabases
  • 009.MySQL-Keepalived搭配脚本03

    木二
  • “偶遇” 爱可生 与 MYSQL 大型应用

    今天“偶遇” 爱可生的技术人员,经过了两个小时的交流,又重塑的我对大型系统中对MYSQL 的应用, 这绝对不是广告,这绝对不是广告,这绝对不是广告,重要的还的说...

    AustinDatabases
  • MYSQL 8 vs MYSQL 5.7 ORACLE 到底怎么想的? (二)

    1 在MYSQL 5.7 临时表包含了一个 "converting HEAP to on disk", 意思当临时表达到最大的内存使用的限制(一个表一个)16M...

    AustinDatabases
  • 【MySQL】zabbix监控MySQL配置

    MySQL技术
  • MYSQL 8 GROUP REPLICATION 的新感觉

    MYSQL 8 Group Replication 最近开始做实验了,MYSQL 5.7的MGR 在使用了不到一年的时间里面,发现了不少问题,也解决了不少问题。...

    AustinDatabases
  • MYSQL 从如何尝试抛弃慢查询谈起

    MYSQL 的慢查询一般是开发人员和DBA,获取糟糕的SQL和可能缺少索引的一种方法,这样的方法已经伴随了MYSQL 一致到了MYSQL 5.7,但是否我们可以...

    AustinDatabases
  • 人生呀,如梦,MYSQL 8.0.15-5

    人生呀,如梦,我觉得只要不投降,就是成功。(周星驰的电影都是多年后成为经典的,这也许就是一种成功)。MYSQL 其实作为数据库产品,对比其他数据库产品(不管收费...

    AustinDatabases

扫码关注云+社区

领取腾讯云代金券