加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL之父解读数据库最新闪光点

发布时间:2022-03-25 04:15:40 所属栏目:MySql教程 来源:互联网
导读:大家好,我是MariaDB的 Michael Widenius,我们今天来简单的聊下MariaDB10.5新特性和即将要做的事情。10.5已经是RC了,应该是下周四GA,所以非常近了。 Monty分析MariaDB10.5新特性_腾讯视频 v.qq.com MySQL之父解读数据库最新亮点 所以,表转换这里,你可以
      大家好,我是MariaDB的 Michael Widenius,我们今天来简单的聊下MariaDB10.5新特性和即将要做的事情。10.5已经是RC了,应该是下周四GA,所以非常近了。
 
      Monty分析MariaDB10.5新特性_腾讯视频 v.qq.com MySQL之父解读数据库最新亮点
 
      所以,表转换这里,你可以把表直接Alter成S3的表,或者改回来。你可以有主和备,他们所有都是不同的,这展示的是正常的复制的工作,有趣的事情是S3是共享存储,可以让主从都用同一个S3 。所以当主(指的MariaDB的主) 改变后,备不用做什么也能直接读到信息。
 
      你可以任何时间在MariaDB上加server。他是自动发现的,所以你要做的唯一事情是slave加认证,然后就可以访问所有的在S3的表了,不需要做复制,自动感知变化。
 
      到现在为止,我们在MariaDB对MySQL做了很好的兼容,所有的命令,命名等,几乎所有东西都一样。一个可以区别的是他们二进制名字,10.4是软连到MariaDB,10.5改为了二进制是MariaDB为前缀,但依然有老的软连接,保证老的脚本和其他东西运行。一个大的改变就是在进程里面,你看到的是MariaDB,而不是MySQL了 ,这可以让你同时运行MySQL和MariaDB,你就知道谁是谁了。
 
我们有一些扩展的DDL语法,首先是我们对于create database语句加了 comments,我们让table更容易去使用和rename,也做了一些在alter table 和rename table上的代码修正。我们需要在strict 模式下做table的复制,引擎自动的加if exist到binlog去,所以slave知道是否要跳过,因为他可能不存在是一个share table。
 
很多人认为mariadb的超级用户权限太超级了,获得了太多的权限难以控制。所以我们把超级权限分割成了更小的子权限给人们使用。这意味着你可以单独给某个用户获取binlog和binlog操作的权限,但不用把他提升为超级用户。当然了,要使用这样的功能,用户需要做一点小小的权限改动来适配,在10.5版本里我认为这是唯一需要用户适配的修改了。
 
 
我们这个版本里,对InnoDB进行了很大的迭代,我们有3个innodb开发,他们做了很多大的工作去改善innodb性能,让它变得更快。同时有很多参数被删除了因为他们几乎没有意义了,还有部分参数被调整了默认值。比如innodb_log_files_in_group,我们知道修改这个值到很高并不能达到任何改善性能的效果,所以现在它默认被设置为1。
 
 
这里所有的变量虽然不推荐(仅展示一部分):
innodb_checksums
innodb_log_checksums
innodb_locks_unsafe_for_binlog
innodb_stats_sample_pages
innodb_undo_logs
innodb_rollback_segments
innodb_log_optimize_ddl
 
 
但依然可以在配置文件使用,启动的时候在errorlog 里面会有warning日志。这对于清理这些配置是一个好的事情,我们相信升级还是很容易的,所以我们把这里做了修改。
 
现在你可以通过innodb status 去看innodb引擎的状态,同时还有大量的性能改善,如果你从innodb旧版本迁移过来,你的感受会非常强烈。
 
我一直在强调和mysql相比,mariadb能非常快的连接到服务器,在SQL中我们能更快的从服务器连接到客户端。10.5中我们更是把连接速度提升了25%。这也是为什么很多用户不像在mysql中那种用连接池来提升性能,因为mariadb中的数据库连接本身就很快了。
 
当然,在很多不需要使用密码来访问数据库的场景中,我们使用了特殊的逻辑来处理这种内部的使用,使得数据库连接的速度更快。
 
10.5中我们对Galera做了许多改进,其中最重要的一个就是mariadb支持了Global Transaction ID。因此现在Gerlera支持mariadb最新的全部特性,这使得Gelera的使用更方便也更安全。
 
关于主从复制,我之前提到过REPLCA已经支持在SQL语句中作为SLAVE的同义词。同时我们也扩展了binlog的元数据以包括新字段。在mariadb 10.5和之后的版本中,添加新的数据类型会更方便。
 
但是如果你的主从中包含不同的数据类型,我们需要知道更多的信息,比如原始列的信息,来处理更多复杂的情况。新的元数据使得复制和之前相比更安全了。我还提到了IF EXISTS,我们可以在S3引擎中使用IF EXISTS来代替写和修改查询。我们有标识来区分他是否含有隐式的EXISTS。
 
关于优化器,我们做了很多内部处理来使得优化器更可靠。更合理的部分是,anlyze语句分析了更多的信息,optimizer_trace比原来更快了。我们在使用文件排序的时候,使用的磁盘空间也更少了。如果你用varchar作为文件索引,在之前的文件排序中,会给每一行都用到这个文件索引。在10.5中,我们只存储真正用到的数据,这使得文件排序中的VARCHAR,CHAR和BLOB更快了。

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!