MySQL新纪元(一)
MySQL新纪元(二)
MySQL新纪元(三)
MySQL 5.7对于优化器的改动也是非常多。但是优化器不是我专研的方向,对我来说优化器显得非常高深莫测,我想对于优化器的改进我的好友李海翔应该有更好的发言权。他是Oracle MySQL优化器团队成员,也是《数据库查询优化器的艺术:原理解析与SQL性能优化》的作者,对于MySQL优化器有任何问题应该都可以向他发问,他的微博是:@那海蓝蓝。
就目前可以发现的 MySQL 5.7优化器的改进有更好地IN查询优化,sort buffer的内存优化,UNION ALL查询的优化,EXPLAIN正在执行的SQL语句支持等 。另外,优化器团队有提到正在对优化器代码进行重构,并开发新的面向成本的优化器以支持新的硬件架构,例如更大的内存,SSD设备等。当然,我最为关心的是MySQL 5.7是否支持HASH JOIN,毕竟MariaDB已经在5.5版本就支持Classic Hash Join功能,不过目前得到的消息是5.7还未能支持。不过,用户可以体验下5.6提供的BKA JOIN,对于JOIN速度的提升还是非常显著的,只不过知道的人似乎非常少。
Oracle收购MySQL后一直在打造商业产品化的路线,这在5.6中已经显露出端倪。随着MySQL Utility的不断完善,相信用户今后对于Percona工具包的依赖会越来越小,大爱其中的mysqlfailover工具,不过需要GTID支持,故仅支持5.6以上的版本。
另外,MySQL Fabric同样是非常不错的产品,用来管理大规模的MySQL集群系统很是不错,如果前端能配合一些监控页面就可以完成基本的自动运维操作,不知道企业版的MySQL Enterprise Monitor是否已经集成了fabric。此外,MySQL Fabric用来作为做sharding也是非常的不错,但是目前 MySQL Fabric并没有打算成为分布式数据库的中间件,所以拿其和淘宝的TDDL和网易的DDB这类分布式数据库中间件来对比也是不公平的 。不过,不排除未来MySQL Fabric这样的选择,但是我觉得这会往OLAP这类操作去发展,走类似GreenPlum的路,毕竟社区已经有这样的产品。未来如何,让我们拭目以待。
MySQL 5.7.6最近已经发布,去年Facebook的数据库负责人Mark和我说2015年4月GA版本就会发布,不过目前看来是有些难度了,毕竟按照之前的规划,至少需要一个RC版本才能GA。如果我记得没错的话,5.5和5.6都是到5.5.8和5.6.8版本才GA的,算来可能还需要等待6个月的时间,不过相信这一切都是值得的。
MySQL 5.7的改进是如此之多,涉及面如此之广,所以我有点担心5.7版本的质量,bug会不会很多,毕竟之前的5.0版本给了用户不怎么好的体验,即使到现在大家对于MySQL的升级也是相对保守,新浪,淘宝,网易大部分用的还是5.5或者更早之前的版本。或许是我想多了,亦或者不幸被我言中,不过我依然选择相信Oracle官方的测试质量保证。
MySQL的新纪元已经到来,不管你选择相信或是回避,但是这个趋势已经不可逆转。希望小伙伴们去发展的眼光去看待这样一个崭新的篇章,而非停留在那个早已枯萎的原地。