mysql dba是什么岗位_什么是运维

mysql dba是什么岗位_什么是运维原文地址:http://lefred.be/content/top-10-mysql-8-0-features-for-dbas-ops/ 临时表的改进 MySQL 5.7中,所有内部临时表

MySQL 8.0中与DBA和运维人员相关的10大特性(译)

 

原文地址:http://lefred.be/content/top-10-mysql-8-0-features-for-dbas-ops/


临时表的改进

MySQL 5.7中,所有内部临时表都是在名为“ibtmp1”的惟一共享表空间中创建的。此外,临时表的元数据也将存储在内存中(不再存储在.frm文件中)。

译者添加截图

mysql dba是什么岗位_什么是运维

在MySQL 8.0中,内部临时表默认使用memory存储引擎(由优化器在JOIN,UNION,…期间创建的表)的引擎,这个新引擎为VARCHAR和VARBINARY列提供了更高效的存储(内存容量最大分配模式)。

译者添加截图

mysql dba是什么岗位_什么是运维

全局变量持久化
借助MySQL 8.0,可以设置变量并可以永久性保留。
我写了一篇专门的博客文章,您可以查看更多信息。将此语法与新的RESTART命令结合使用,可以非常轻松地从其shell配置MySQL。这是一个云友好功能
 

不再有MyISAM系统表
有了新的本地数据字典,我们将不再需要MyISAM系统表!这些表和数据字典表现在在数据目录中的一个名为mysql.idb的InnoDB表空间文件中创建。
这意味着,如果您不显式使用MyISAM表(如果您关心数据,则完全不建议这样做),则可以拥有一个没有任何MyISAM表的MySQL实例。
大事务的UNDO表空间收缩
在MySQL 5.7中,我们已经添加了截断撤消空间的可能性(innodb_undo_log_truncate,默认情况下禁用)。
在MySQL8中,我们更改了undo磁盘格式以支持每个undo表空间大量回滚段。同样,默认情况下,现在在两个单独的undo表空间中创建了回滚段,而不是在InnoDB系统表空间中创建了(最小为2,并且可以动态设置)。
innodb_undo_tablespaces变量已经被弃用,因为我们将提供SQL命令,为DBA提供与UNDO表空间进行交互的真实接口。默认情况下,现在也启用了undo表空间的自动截断功能。

UTF8字符集的性能
默认字符集已从latin1更改为utf8mb4,因为UTF8在特定查询上的速度现在快得多,快了1800% !
现在Emojis字符无处不在,MySQL支持他们没有问题!

Query Cache的移除
在性能审计期间,我一直建议的第一件事是禁用查询缓存,因为它不是按设计进行伸缩的。MySQL Query Cache产生的问题比解决的问题还多,我们决定在MySQL 8.0中删除它,因为没有人应该使用它。
如果您的工作负载需要查询缓存,那么您应该查看一下
proxysql作为查询缓存的情况

原子DDL
使用新的数据字典,MySQL 8.0现在支持原子数据定义语句(原子ddl)。
这意味着,当执行DDL时,数据字典更新、存储引擎操作和二进制日志中的写操作被合并到一个原子事务中,该事务要么完全执行,要么完全不执行。
这提供了更好的可靠性,未完成的ddl不会留下任何不完整的数据。
更快、更完整的Performance Schema(直方图、索引、…)和Information Schema
对Performance Schema进行了许多改进,例如伪索引或直方图。
借助伪索引,诸如SELECT * FROM sys.session之类的查询速度提高了30倍。现在,尽可能避免进行表扫描,索引的使用大大缩短了执行时间。
除此之外,Performance Schema还提供语句延迟的直方图。优化器还可以从这些新的直方图中受益。
Performance Schema还通过使用数据字典得到了改进。无需更多.frm文件即可了解表的定义。而且这允许扩展到超过1,000,000个表!

ROLES(角色)
MySQL 8.0中已经添加了SQL角色。角色是一个命名的特权集合。
与用户帐户一样,角色可以拥有授予和撤消的特权。角色可以是默认的,也可以是会话的。也可以将角色设置为强制的。
如果表空间被加密,那么redo log和undo log将被加密
在MySQL 5.7中,可以为存储在每个表的文件中的表加密一个InnoDB表空间。
在MySQL 8.0中,我们通过为UNDO和REDO日志添加加密来完成这个功能。另外,改进的列表并没有在这里结束。还有许多其他不错的功能。我想下面列出一些其他重要的(即使他们都是重要的当然)
  • 自增id列的持久化,persistent auto increment
  • IInnodb自优化,nnoDB self tuning
  • Json字段类型性能提升,JSON performance
  • 不可见索引,Invisible Indexes
  • 新的备份锁,new lock for backup
  • 资源组,Resource Groups
  • binlog中的额外元数据,additional metadata into binary logs
  • 社区版的OpenSSL支持,OpenSSL for Community Edition too
请查看在线手册以获得关于所有这些新功能的更多信息。
https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
!!更新!!
随着我们不断改进MySQL 8.0的发行版,还有另一个原因需要升级到MySQL 8.0,这可能是必须处理大型表时最需要的功能之一。
开发人员将不再害怕在其架构中添加列,并且DBA / 运维将不会害怕运行它们,或者将不需要使用第三方工具来执行此(过去)复杂的任务:即时添加列!

InnoDB即时添加列
借助新的数据字典,现在可以执行元数据更改并直接在表的末尾添加新列,而无需重建它!这是每次开发人员想要向表中添加列时,alter语句都阻塞所有session的终结者。
而这仅仅是即时ddl之旅的开始。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8496.html

(0)
上一篇 2023-02-27
下一篇 2023-02-27

相关推荐

  • 以Python字符串为中心的原始标题

    以Python字符串为中心的原始标题字符串是Python中最重要的数据类型之一,是文本处理中不可或缺的一环。从简单的字符串拼接到复杂的正则表达式匹配,Python中的字符串包含着丰富的操作和方法。本文将以Python字符串为中心,介绍其常见操作以及在实际开发中的应用。

    2024-05-25
    62
  • 使用Python的print函数输出标题

    使用Python的print函数输出标题Python是一种高级编程语言,是一个非常受欢迎的编程语言。它易于使用,语法简单,强大的库支持和解释性语言的特性使Python成为选择语言之一。在这篇文章中我们将讨论Python中的print函数如何输出标题,这是你编写Python程序时会用到的重要功能。

    2024-06-12
    55
  • sqlserver分组排序取最大一条_sql组内排序

    sqlserver分组排序取最大一条_sql组内排序表结构: 方法1: select a.* from Table_Test as a where 3 > (select count(*) from Table_Test where Brand_

    2023-02-22
    172
  • python学习过程记录(学python怎么做笔记)

    python学习过程记录(学python怎么做笔记)想要学习Python,需要掌握的内容还是比较多的,对于自学的同学来说会有一些难度,不推荐自学能力差的人。我们将学习的过程划分为4个阶段,每个阶段学习对应的内容,具体的学习顺序如下:

    2023-11-22
    144
  • Python LabelGrid:打造高效数据标注工具

    Python LabelGrid:打造高效数据标注工具Python LabelGrid是一款开源的数据标注工具,它提供了一种简单易用的方式来标注各种类型的数据,如图像、文本、音频等等。它的目标是打造一款高效、灵活、可扩展的工具,帮助开发者快速完成各种数据标注任务。

    2024-01-10
    113
  • 【大白话 mysql】mysql 事务与日志原理「终于解决」

    【大白话 mysql】mysql 事务与日志原理「终于解决」在后端面试中,mysql是比不可少的一环,其中对事务和日志的考察更是"重灾区", 大部分同学可能都知道mysql通过redolog、binlog和undolog保证

    2023-04-13
    151
  • docker配置mysql主从_docker嵌套docker

    docker配置mysql主从_docker嵌套docker1. 安装docker 这里可以参考菜鸟教程的CentOS安装docker , https://www.runoob.com/docker/centos-docker-install.html 2….

    2023-03-30
    168
  • 12, excel vba 常用字符串处理函数「终于解决」

    12, excel vba 常用字符串处理函数「终于解决」处理excel数据很多时候要和字符串打交道,比如0,想要知道一个字符串的长度是多少?1,判断字符串是不是含有你需要的字符2,截取字符串的某一个部分3,将字符串里的某个字符进行替换4,把字符串按某个字符分割出来接下来一一介始这几个函数,0,用len()函数获得一个字符串长度PublicSub点点didi12()…

    2023-03-02
    141

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注