技术开发 频道

ITPUB调查:开发DBA都在做什么?

  另外一方面,很多DBA也不大愿意去了解业务细节,宁愿将时间花在技术上,也不愿意花在业务上,开发人员也懒得和他们去费口舌讲业务,就直接按照自己掌握的数据库知识水平书写SQL或者将业务逻辑封装在比较复杂的Procedure中,而这些都极易成为今后数据库性能的隐患。

  ITPUB技术社区的斑竹王琦认为目前大部分实施中的IT项目对DBA的重视程度极低,他在讨论中谈到,“说实在的,现在的大多数项目都不太重视DBA的。项目经理大多都以实现需求和功能为目标,压根就没考虑性能问题;上面的选项都是理想的状态和选项。根据我的观察,DBA就是帮别人写写复杂逻辑的脚本,指导和规划开发人员的行为根本谈不上的,DBA的地位只有在大型IT系统和一些门户网站在能取得应有的地位吧。”

  网友卡卡西也举自己遇到的例子说明DBA在团队中是如何被轻视的,“我目前所在的项目组也是不太重视DBA的工作, 直到发生了一件事情.。开发人员做了一个自动翻译的程序, 词库是放在数据库里的, 有一天翻译的程序突然跑的很慢, 开发人员抱着试一试的心理找到了我, 我打开sqlplus一看数据库中正在跑的SQL,发现翻译的主要SQL语句做了修改, 原来的t1.col1=:1 改为了upper(t1.col1)=:1, 原来的t1.col1字段是有索引的, 但是开发更改SQL之后并没有告诉我, 于是我把索引改为upper(t1.col1), 速度一下提高了100倍, 开发大惊。项目组长趁机语重心长的对开发人员说, 今后SQL更改一定要告知DBA。”

  在调查中,记者了解到,还有的公司将DBA划归于运维部,研发部开发完成上线之后,如果有性能的上问题就会找到运维。一般来说问题有以下几类:1、SQL低效;2、程序实现低效;3、业务部门需求低效。做为一个DBA说小了应该做到第一类工作,往大了说应该做上以上三类工作。

  公司的技术领导人对基于数据库的系统的认识问题,也是一个重要的因素。如果是一个研发出身的,他就引导大家先实现功能,再考虑性能。凡此种种,DBA在项目中受轻视,是开发DBA难以发挥真正作用的根本性原因。

  DBA在当前的IT开发环境中要想更好地生存,实现自己的价值,是需要相当技巧的。阿里巴巴首席DBA 冯春培曾经谈到,DBA如何在团队中发挥自己的最大作用,

  “很多时候让别人接受你的合理优秀的东西是需要自己的努力的,你一来就要求别人把你的话当作圣旨一样,让别人按你的想法改代码,是不是换成你也很难舒服啊?毕竟每个人都认为自己是很优秀的,再者,如果每个人都能象你一样知道那么多DBA应该懂的东西,从DBA的角度思考问题,你在这个团队中也就没有位置了。所以个人认为DBA不应该过多的抱怨团队如何如何,如果你争取后仍然没有得到别人的重视,也不一定要换地方,其实优化也有很多种方法,如果应用不能修改,SQL不能优化,结果你还是把问题很好解决了,这个时候你就真正知道如何工作了。”

      开发DBA,在团队中如何发挥自己的价值,确立自己的地位,需要做什么,请大家点击继续参与讨论,发表观点:http://www.itpub.net/thread-930552-1-1.html

  

0
相关文章