技术开发 频道

一名少校飞行员的MySQL历程

  【IT168 专稿】衷心感谢主办方Chinaunix社区与ITPUB社区组织的这次MySQL技术征文活动,给了我们宝贵的机会把自己在平时MySQL数据库系统维护管理工作中的心得体会写出来,交给MySQL的技术专家们审阅,在技术和经验上,对于我们每个投稿参赛人员来说都是一次很大的提高。本人在此撰文简要介绍自己的MySQL历程,如果能对立志从事MySQL数据库系统的新人有所帮助,将会使我感到由衷地欣慰。

  获奖文章具有负载均衡功能的MySQL服务器集群部署及实现

  活动详情及获奖名单http://www.itpub.net/thread-1121603-1-1.html


MYSQL技术征文大赛第二名徐连祥

  本人职业是一名空军飞行员,1992年入伍,至今已经飞行了整整十七年,飞行等级一级,少校军衔。除了飞行训练之外,平时主要负责本单位的网络管理和软件开发工作。最早接触计算机是在1989年,那时还是古老的Apple II型机,只能解释运行简单的BASIC程序。当在上面运行起简单的“奔向城市”游戏时,就被计算机深深的迷住了,虽然由于学习紧张没有投入专门的精力学习计算机知识,但始终保持着浓厚的兴趣。这就是这么多年我一直没有因为其他原因放弃学习实践计算机技术的根本原因,个人兴趣是主导因素,工作需要倒位于次之的地位了。

  在这次征文比赛中,我获得了二等奖,感到很幸运,同时也受到了极大的鼓舞。“心中皆有,笔下皆无”是IT从业技术人员的通病,在实际管理维护工作中广大技术人员积累了大量宝贵的经验和心得体会,但是很少有人将其整理出来,写成论文,这不能不说是一个遗憾。技术类论文的撰写要求思路清晰,结构严谨,逻辑性强,通过写作不仅能加深理解,提高管理维护技能,同时能把长期零碎的经验积累起来,形成具有自我特色的经验知识体系,对于以后的工作具有极大的帮助和指导意义。

  最早接触数据库是在1995年,那时还是DOS模式下运行的dBASE III,只能做一些单机版的小型数据库,提供简单的查询检索功能。当时就对数据库存储处理信息的强大功能感到十分惊奇,遗憾的是由于所学专业与数据库关系不是很大,没有一鼓作气地深入学习下去。真正接触学习MySQL数据库是在2004年,当时运行的管理系统的后台数据库是MySQL,惊奇于它的简洁高效和快速稳定。由于SQLServer 2000已经有所了解,因而学习起MySQL还是挺顺利的。当时对照《MySQL4从入门到精通》,先学习在Windows平台上MySQL系统的安装配置,熟练后开始试着在Unix类平台上配置、编译、安装MySQL数据库系统。首先掌握MySQL基本操作,建立具有实际意义的数据库模型,在此模型上反复练习,熟练掌握各种SQL数据处理语言(Data Manipulation Language,DML)。然后,参考相关书籍逐步学习掌握高级MySQL技术专题,如索引、查询优化、左右连接、范式化数据库设计及高级编程接口等。在学习的过程中,随时把解决问题的方法记在学习笔记上,有空时就翻阅一下,加深理解。随着逐步深入学习MySQL,感到自己的数据库知识体系很不完善,于是买了本《SQL技术大全》,系统学习了SQL技术,对数据库技术有了一个整体的了解。学习掌握技术的最大动力除了兴趣外就是任务驱动,在学习过程中就按照实际生产环境反复试验,设计出符合实际要求的最优数据库模型,在此基础上编写数据库连接和操作代码,遇到错误就排查,遇到不懂的问题就向人请教或上网找答案。当系统初步完工时我对MySQL已经很熟悉了,对于一些问题还总结了自己独到的见解和体会。熟悉之后空闲时就系统的看一些MySQL书籍,不断加深理解,完善自己的知识体系。在实际应用中,技术人员不可能只接触一种数据库管理系统,除了MySQL外,还有Oracle、DB II等重量级企业级数据库系统(如果MySQL数据库系统是游艇的话,那么Oracle、DB II等就是核动力航空母舰)。我们可以根据自己实际工作需要学习一下这些系统,有了熟练的MySQL技术基础,学习这些系统不仅上手很快,而且可以完善自己的数据库知识体系,积累更多的数据库编程经验。

  结合本人的实际体会,对于立志于从事数据库系统管理开发的新人,下面简要提一些个人想法。

  一、完善自身知识体系结构

  不能孤立地只学习数据库系统知识。数据库系统与服务器是密不可分的,数据库离不开服务器,而服务器又离不开网络,现代绝大部分的数据库系统都是为了提供网络服务而存在的,单机版的数据库系统几乎没有任何实际意义。在学习数据库系统的同时,必须对现代网络技术有所了解,熟练掌握Windows、Unix等操作系统平台的安装配置。MySQL的设计初衷是基于Unix类平台的,未来的DBA(DataBase Administrator)们扎实掌握Unix类系统的安装、配置是学习MySQL数据库技术的基本技能。个人认为,生产环境中只有基于Unix类平台上的MySQL数据库才能真正发挥它的优长,如果基于Windows平台,那么部署SQLServer系列似乎更为合适容易一些。

  二、紧贴实际,在实践中学习

  学习MySQL数据库系统时,最有效的方法是紧贴实际需要,反复试验,设计出符合实际需要的数据库系统模型,在此基础上学习掌握各种SQL操作语言,结合一种开发语言,编写数据库连接和操作代码,在具体应用中实践自己的SQL系统知识。我们技术管理人员是现代各种网络技术的最终执行者,走出纯学术或学习的象牙塔,在具体项目中应用所学知识,是唯一高效捷径。

  三、注意积累经验

  学习过程中要做好读书笔记,完成一个阶段的学习就写成学术论文体会文章,对于加深理解,熟练掌握知识体系有很大的帮助。同时,也能给自己的技术水平带来质的提高。

  四、少问勤思,胆大心细

  在实际工作中,会遇到各种各样的问题和困难,为了解决它们,DBA们必须反复尝试各种解决方案,少问多想,遇挫不馁,独立思考,最终找到解决方案,逐步形成具有自己鲜明特色的技术风格。在解决问题过程中一旦想到解决方法要果断实施,但之前一定要做好备份,精心操作,切忌随意按键或点击,防止系统崩溃。

  五、切忌急功近利

  现代流行的观点是年轻时做技术,然后进入中高层做管理。从技术到管理是一个循序渐进的漫长过程,从一般的代码writer到数据库Administrator同样是一个漫长的磨练过程。没有任何公司或企业会把DBA职位交给一个刚学完没有相应经验积累的Operator或Programmer,只有积累了足够的经验(最有价值最宝贵的是失败的经验教训)之后我们才能胜任DBA这个充满挑战与机遇的职位。

  六、保持较高的英语读写水平

  这是对DBA最起码的要求,真正的Unix类服务器系统是不会显示一个汉字的。关键的错误提示大部分是英语,而且正规的开发文档和系统管理维护日志也只有英语才符合通用要求。如果要解决各种千奇百怪的问题,网上最有价值最新的答案也往往是英文,原因很简单:这些数据库系统和服务器操作系统都用英语开发的。

  学习了MySQL技术的新人,就业一般定向在用PHP开发动态网站或应用系统的公司,在积累了丰富的经验之后再应聘相应的DBA职位。如果只有单纯的MySQL系统知识,在当前的经济形势下就业前景实在堪忧,学习MySQL必须要精通至少一门数据库编程开发语言,如PHP、JSP或C/C++。目前熟练掌握LAMP(Linux+Apache+MySQL+PHP)的技术人员在人才市场上还是很急需的,只是薪金并不像未来DBA们想象的那样高。

  作为一个轻量级快速稳定的数据库系统,MySQL在中小企业级系统应用中很有市场。与成熟稳定的重量级Oracle、DB II等竞争,MySQL系统尚需时日。MySQL于去年被SUN收购,Oracle公司又收购SUN,对于MySQL AB来说是相当成功的营销。Oracle在关系数据库市场的龙头老大位置必将对MySQL的发展带来积极的影响,Oracle化的MySQL不仅继续保持其轻巧快速的本色,而且平滑无缝的集成企业级数据库系统的特色。作为个人来讲,衷心希望诞生于开源的MySQL继续保持并发扬开源所有、开源所为、开源所享的开源本色!

0
相关文章