MySQL数据库开源软件版本 生产环境GA版本如何选择
【导读】
很多技术朋友向我咨询过关于选择MySQL数据库软件产品的版本事宜,他们对于开源软件产品的版本选择没有头绪,不知道从何下手。不过,我们本文主要是介绍开源数据库产品的版本如何选择,如何选择生产环境的MySQL数据库版本?MySQL数据库版本的选择需要经过那些工序?需要注意那些事项?顺道分享下我们DBA团队是如何为生产环境,选择合适的MySQL数据库版本。
商业软件研发和发行公司,都会提供经过完整测试,甚至多种用户环境模拟测试及试用之后,才会推出稳定的生产环境版本软件,导致技术人员对于商业数据库软件的选择,一般不需要太多的顾虑与考虑。在大公司,像曾经带过的阿里巴巴DBA团队,对于Oracle数据库软件版本的选择,也是会对其新功能或改进点知识详细阅读,并且会做很多相关测试和研究工作。关于Oracle数据库产品的版本选择,大家可以通过新浪微博咨询Oracle数据库行业非常优秀的DBA Jametong
(一) 行业乱象
不管是大公司,还是中小型公司,有专职DBA的公司,还是无DBA的公司;都存在使用Alpha版本MySQL数据库产品的现状,甚至有些公司还是用开发版本MySQL数据库产品的情况。2009年以前的阿里软件、淘宝、阿里巴巴都大量存在使用Alpha版本的MySQL数据库,不过后来这样的事情没再发生,而是逐渐寻找机会升级完成版本的更换。像北京的去哪儿公司,依然采用MySQL5.5Alpha版本数据库产品,上海也很多大公司采用Alpha版本的数据库产品,就不一一点名,避免被口水淹没。对于那些没有专职DBA的公司,存在使用Alpha版本MySQL数据库,就更多更普遍。对于职业技能属于中下水平的DBA而言,选择MySQL数据库的版本可能存在一些困难,主要是没有意识到其存在的危害,以及没有人告诉他们该如何选择这些软件版本。
(二) MySQL数据库版本
对于MySQL开源数据库分为多个重要分支发展,目前拥有的分支分别为:MySQL Cluster、MySQL 5.1、MySQL5.5、MySQL6.2,每个分支版本都会遵循一个相同的流程,也即不同开发测试阶段的MySQL数据库版本,分别为:Development版本、Alpha版本、Beta版本、RC版本、GA版本,每个版本的含义与区别大家可以参考文章MySQL数据库入门常识中的文字描述。
MySQL AB官方网站会把五种数据库版本都提供下载,主要是MySQL数据库属于开放源代码的数据库产品,鼓励全球的技术爱好者参与研发、测试、文档编写和经验分享,甚至包过产品发展规划,对于Development版本、Alpha版本和Beta版本是绝对不允许使用在任何生产环境的,肯定存在重大的问题或功能未完全实现。绝大多数情况下RC版本也是不允许使用在生产环境,毕竟这是一个GA版本之前,也即生产版本发布之前的一个小版本。另外,对MySQL 数据库GA版本,也是需要慎重选择,开源社区产品毕竟不是经过严格的测试工序完成的产品,是全球开源技术人员的自愿完成的,会存在比商业产品稳定性弱的缺陷。
(三) MySQL数据库GA版本选择的流程
自甲骨文(注:Oracle)公司收购SUN及全资子公司MySQL AB之后,MySQL AB官方不再对开源社区贡献源码,以及众多创始人与技术人员的出走,大家对于MySQL AB 公司推出的新版本一定要更加仔细挑选,切莫盲目相信MySQL AB官方给出的测试报告。推荐大家参考的MySQL数据库GA版本选择的流程,如下所述:
1) 分析本企业业务,需要使用到MySQL那些基本功能和特性,特性重点方向研究为:MySQL复制、分区表、Plugin-innodb等;
2) MySQL数据库产品线第一个GA版本推出时间,至少超过10个月,再考虑使用到生产环境;
3) MySQL数据库产品线的最新GA版本,一般向后退3-4个版本的GA版本数据库,作为可选的目标;
4) 仔细阅读选择的目标数据库GA版本,若是为之前的版本修改了大量的BUG信息,则此GA版本慎重选择;
5) 仔细阅读目标GA版本数据库之后的第一版本,若是修改的BUG信息量非常大,直接放弃目标版本,向前推进一个版本号作为目标版本;
6) 按照第四、第五步骤所描述的办法,直到选定的版本之后的一个版本,BUG修改量不大,严重BUG极少,且不能为最新的GA版本数据库产品;
7) 详细阅读选定的数据库GA版本之后2-3个版本的BUG修复信息,主要是跟目标GA版本相关的,并且想办法重现,以及寻找规避的办法;
8) 对经过上述七个步骤挑选的GA版本,结合企业业务可能需要用的功能,都必须进行功能测试,以及业务模拟的性能测试;
9) 挑选的数据库GA版本,作为内部开发测试数据库环境,跑大概3-6个月的时间;
10) 优先企业非核心业务采用新版本的数据库GA版本软件;
11) 经过上述10个工序之后,若是没有重要的功能BUG或性能瓶颈,则可以开始考虑作为任何业务数据服务的后端数据库软件;
【编者加注】
很多企业的专职DBA可能没有这么多时间、精力或资源等,也可能根本不愿意花费这较长时间,或者企业急需选择一个数据库GA版本,还有一些企业根本没有专职DBA,而是运维或开发工程师代替的模式,可能不具备挑选数据库软件版本的能力。那么我们是否有MySQL数据库GA版本选择的捷径呢? 答案是有的,那么请多关注互联网行业大公司的DBA们或行业内优秀且严谨的DBA,从各种渠道去了解(注释:互联网企业DBA团队BLOG、ITPUB论坛、优秀DBA的BLOG),或者直接咨询内部人士,获知他们的核心业务数据库版本是多少?
后续我们再发布一篇文章,关于开源数据库mysql5.5.19版本选型过程,测试重现mysql5.5.19及相关版本存在的BUG信息。
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:MySQLOPS 数据库与运维自动化技术分享 来源: MySQLOPS 数据库与运维自动化技术分享
- 标签: GA
- 发布时间:2012-03-31 22:41:29
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [53] android 开发入门
- [52] 如何拿下简短的域名
- [52] 图书馆的世界纪录
- [50] Go Reflect 性能
- [50] Oracle MTS模式下 进程地址与会话信
- [48] 【社会化设计】自我(self)部分――欢迎区
- [47] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 程序员技术练级攻略
- [27] 视觉调整-设计师 vs. 逻辑