八年数据库转型之路:技术易改,匠心永存

吴虞 2016-11-24 10:08:25

 

作者介绍

吴虞SQL专家云团队成员,擅长解决SQL Server数据库性能、高可用、负载均衡等问题。

 

时间过得很快,从在博客上写第一篇文章到现在刚好一年,而自己在数据库这条路上已经走过八年。回想下这八年,感觉总是在“迷茫-激动-充实-迷茫-激动-充实”的状态循环中。本篇我将分享一下这些迷茫、激动、充实和美好的愿景。

 

古有大诗仙怀才不遇,诗书纵情于山水,今有小人物蓝瘦香菇,博文感悟与群友。

 

成长
 

IT民工,程序猿,救火队,刚刚踏入IT界,这些词就早已经如雷贯耳,电脑坏了不会修?你是做IT的?

 

抛开残酷的现实,寻找那最初的美好,每个在踏入这个行业的小白开始都会抱有成为一个称做“行业专家”的理想。

 

我也不例外,刚刚毕业有过好多目标,写程序,做BI,业务设计,项目管理......就像熊瞎子劈苞米,劈一个扔一个,最后什么也没剩下!(好像现在的新同学会更有感触,因为现在的技术花样更多了)

 

工作三年后,走过迷茫期,我坚定地选择了数据库DBA这条路,决定走下去并义无反顾。Oracle科班出身的我,因为工作和自己的一点小兴趣而选择了SQL Server。

 

耐得住寂寞
 

看书,是学习的最基本途径,看不下去就抄!原理性的东西也许只能这样获取到(也可能是我比较笨),不断地学、模拟和思考。还记得《SQL Server 2005技术内幕》四本书,绝对是我的启蒙老师,至今仍然收藏,时不时拿起来翻看。

 

这个过程很多人感觉特别枯燥,无法坚持。也许像我这样的人可能不太大众,我反而觉得这个过程特别的激动,每天都学到很多新东西又特别的充实。

 

打破迷茫
 

很多时候学习和数据库系统一样会遇到瓶颈,这样的瓶颈如果处理好,那么你就是阶段成长,跳到了下一个阶段,如果没处理好,就会打回原形(劈苞米一样)。

 

迷茫主要有两点:

  • 很多东西理解不了,有没有地方去问;

  • 没有实践的环境,工作不匹配,有很难找到匹配的。

 

对于第一点,我当时就是在各种技术网站上发帖,各种问(现在看看当时的问题,我真是厉害了不少呢,哈哈)。  

 

对于第二点,这个真的没什么办法,看机遇了。不过一个建议:选择理想往往会牺牲一些(我的第一个数据库DBA相关工作比开发时工资少了一半)。但是当有一个实践的场景出现,你的基础理论就会大幅发挥出来,技能提升特别快。这也是传说中的一张窗户纸。

 

独当一面
 

刚工作时,给自己定了一个称做“行业专家”的理想,而期限是五年,而所谓的行业专家其实也只是能够在一个领域或技能上独当一面。在工作五年后基本上达到了我的预期,这个时候大部分的数据库问题我能够独立解决,出现问题也能理性的思考,并且慢慢整理思路不断学习。

 

激动的感觉,满足的感觉。

 

再次迷茫
 

程序猿的悲催在于活到老学到老,不能停下学习的脚步。这个时候在一个技能(SQL Server)的学习上,自己感觉不到那种突飞猛进的感觉,很多时候学习都是需要真实的遇到场景,踩过坑才能在坑中学习。

 

而在一个公司当DBA总是维护着自己的系统,根本没有那么多坑去踩。很长的一段迷茫期不知道怎么办,所以我尝试了学习新东西,比如MySQL,大数据相关的,甚至学习销售、营销等,但是我依然迷茫,不知要怎么走下一步。

 

偶然的机遇
 

这也是我现在的公司,做SQL Server技术支持,在这里我遇到了很多志同道合的人,这里我们都是SQL Server技术的爱好者,一起研究技术,一起帮用户解决问题,这也让我自己意识到自己的很多很多不足,写了一年的博客不少人称我为大神,虽然有些小高兴,但内心我只能苦笑,因为我知道,凭借我的技术水平在公司的技术团队里,不是倒数第一也是倒数第二。

 

但也正是有这样的机遇让我重新找到了方向,找到了一起奋斗的伙伴,也燃起了斗志。

 

技术支持的感悟
 

因为做技术支持的工作,所以每天都能接触到不同的客户,他们有着这样活那样的数据库问题。对于我又像进入了一个新世界,这里一切都是那么不一样。

 

迷茫又至
 

刚刚到公司,处理客户问题的时候总是打了鸡血一样,充满了激情,对于客户问题总是耐心讲解,甚至深入到原理,表、索引存储结构,为什么会出现这样的问题等等。但是时间长了,我发现很多客户的问题都是大同小异,很多客户的运维人员都是一知半解,甚至连什么是日志备份都不知道。

 

气愤
 

很多时候不明白,为什么你维护的系统存在这样那样的问题,而你作为运维人员却完全不知道呢?上TB的数据库,而且不能有数据丢失,却只是简单恢复模式呢?为什么告诉你数据库应该定期体检,监控问题,而你却无动于衷呢?为什么你认为数据库不会出现损坏问题?为什么你认为做了raid就不用备份数据库了?

 

深深的思考
 

为什么客户的数据库都是这样的?作为运维人员为什么不好好学一学呢?慢慢的我意识到了,问题基本可以归结成三类:

 

  • 人手有限,往往身兼数职(网管、项目管理、协调厂商、DBA、应用、写报告),既有很多协调性的管理工作,又有一些专业技术工作,尤其是数据库,短时间是很难深入掌握的。

  • 自己开发系统,擅长程序开发,对于数据库,了解得不深,更多的是业务逻辑,比如表结构设计、如何写存储过程等,导致后期很多业务存在性能瓶颈。

  • 买的软件厂商的,在他们的行业里,IT运维人员对系统进行的往往是简单维护,做的最多的是和业务功能相关的事情,很多数据库的专业问题困扰着他们,招聘资深数据库专家吧,人家不来,自己解决吧,又很吃力,寻求厂商,他们也没有好的方案,集成商就是换硬件。

 

理解
 

为什么会有DBA的存在,因为DBA是一群在数据库上精通的人,也可以说是数据库上的内行,而没有深入研究的就可以理解为外行。内行给外行的建议就好比:医生建议你每天要吃蔬菜,这样身体的什么什么指标会正常,每天要吃什么什么这样会保证你身体怎么怎么好,同时要每天运动,运动能增强免疫力,减少得病的几率。

 

而我呢,我自己呢?对于医生来说我是外行,那么医生给我的建议可能也得不到我的警醒和重视,只有到生病了(我比较坚强一般是病入膏肓)才会去医院看病。 

 

同样作为数据库的技术支持,我会给客户提出的建议,而他们的反应就像医生给我建议时我的反应和应对一样。

 

因为,天天奔波忙碌的我也不可能静下心来,拿起一本医学原理来看看。

 

成人达己
 

技术人员都带着一个改变世界的梦想,而我,没有那么大的梦,我(和我身边的一群人)只想让所有用SQL Server的用户,真正能把数据库用好,高效且平稳,想改变SQL Server在技术人员口中的评价。

 

慢慢地我意识到,学习成长最大的乐趣就是能够帮助别人,并在这个过程中自我完善,还有那被称为大神的小喜悦。

 

美好的愿景从点滴开始,我们团队也正在研发准备打造出一个免费的体检诊断平台,服务于所有SQL Server的爱好者,以让更多人能一起交流技术,让数据库运维变得简单,熟练既是效率,让天下没有难运维的数据库。

 

总结
 

成长过程到独当一面,到最终用自己的技能帮助尽可能多的人,也许这就是技术匠人的路吧。都说这个时代需要的是匠人,匠人精神,也许我某种程度上已经拥有了这样的精神。

 

每天很累,做着必须干的事儿,这是为了生计。

每天很累,做着不爱干的事儿,这是为了工作。

每天很累,做着喜欢干的事儿,这是为了事业。

每天很累,但却乐在其中,这是情怀。

最新评论
访客 2023年08月20日

230721

访客 2023年08月16日

1、导入Mongo Monitor监控工具表结构(mongo_monitor…

访客 2023年08月04日

上面提到: 在问题描述的架构图中我们可以看到,Click…

访客 2023年07月19日

PMM不香吗?

访客 2023年06月20日

如今看都很棒

活动预告