IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Oracle MySQL 直接跳跃到8.0了?

    朝阳发表于 2016-09-02 01:50:25
    love 0

    大约一两个月之前做过一个小调查,大部分MySQL环境目前仍然还是用的MySQL 5.5,占比第二位的是 MySQL 5.6,再然后是5.1,也有不少爱尝鲜的朋友们开始了尝试5.7版本。

    之前,通过内部邮件了解到 Oracle 最近计划直接将 MySQL 跳跃升级到 MyQL 8.x 版本。为啥会直接做如此大的跳跃性版本升级呢?

    5.5 -> 5.6 -> 5.7 -> 8.0?

    可能一:猜测是如上面的子版本号的变化,只不过是将版本号做了个规则调整而已。

    可能二:最新的8.0版本对原有 MySQL一直保留的一些基础结构做了较大调整,如彻底放弃 MyISAM,彻底调整数据字典存放方式,对数据库之核心(查询优化器)做了较大调整等等,所以需要在大版本上做一次较大升级。

    都只是猜测而已,根本原因官方并未对外宣布所以爷不得而知,当然也并不是我们需要特别关注的地方。

    MySQL 8.0 的变化非常之大,值得所有 MySQL 从业者深入研究,这里我也真对我重点关注的几个特性做一个简单的记录。

    1. Storage Engine 层面的改变:
      • 彻底放弃MyISAM这一古老的存储引擎,改用 InnoDB存储引擎存储数据字典信息。
      • InnoDB 方面无论在Range Scan 还是 Full Scan 方面都进行了算法优化,较大的提高了扫描性能(类似 Oracle Full Table Scan的优化)
      • Auto Increment ID的记录在了 InnoDB 的日志中,解决了一个老掉牙的Bug
      • …
    2. Query Optimizer 层面的改变(对于熟悉 Oracle 的我来说 MySQL 的 Query Optimizer 一直都是个痛):
      • 据说整体重构了原有 Query optimizer
      • 针对 InnoDB 存储引擎深度优化,根据 Buffer Pool 中索引数据的情况调整 SQL 对索引的选择。(这个优化虽然看上去很NB,但很难说会否给未来带来麻烦)
    3. Performance Tuning 方面的改善:
      • SQL Hints 方面的加强,进一步提高了DBA/开发人员对 SQL 本身的可控性
      • 索引增加INVISIBLE(不可见)属性,方便调优时候的影响控制
      • 统计信息增加 Histogram(直方图),将会极大改善数据倾斜问题带来的 Query Optimizer 错误,改善在数据倾斜严重环境的查询性能
    4. 基础维护层面的完善:
      • 在权限层面增加了 ROLE,会大大简化 DBA 在权限管理方面的工作量,更简单清晰的做好安全管控。
      • 全局变量在线修改的持久化,在修改Global Variables 的时候,增加 PERSIST 关键字,将不仅仅只是在当前运行的Instance 的内存环境进行更改,同时也会将更改进行持久化,避免因为重启而丢失更改。
    5.  …

    当然,除了上面列举的这几个本人比较关注的变化之外,还有非常非常多的改变,希望这次大版本的更新能让 MySQL 进一步提升在大型系统中的适应性。后续可能还会写几篇针对 MySQL 8.0 的文章,具体可能还需要看时间了。



沪ICP备19023445号-2号
友情链接