Chinaunix首页 | 论坛 | 博客
  • 博客访问: 141029
  • 博文数量: 161
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -30
  • 用 户 组: 普通用户
  • 注册时间: 2017-09-21 21:45
文章分类
文章存档

2009年(1)

2008年(74)

2007年(48)

2006年(38)

我的朋友

分类: IT业界

2006-07-31 16:47:31

biti_rainy大师接受“2006年中国首届杰出数据库工程师评选”活动记者采访原文

原帖链接:!584.entry

优秀数据库工程师评选,赛迪网络采访



1、你认为国内数据库应用水平与人才状况如何?

目前国内数据库应用水平相对国外来讲,差距还比较大。除了一些对性能要求严格的规模比较大的公司外,其他大部分公司还处于一个很初级的阶段,数据库对他们来讲就是一个简单的存取数据的系统,开发人员也大多只注重实现应用功能而不考虑性能。
当然这是大环境所决定的,非常多的小型软件公司仅仅是因一两个项目而起家,根本无力去考虑可持续发展,自然也不会考虑软件将来能支持更多的用户、更大的规模,能满足当前的需求、通过客户的验收是他们唯一的目的。当然甚至有一些同时负责客户系统软件和硬件完整解决方案的公司,在有能力设计更好的数据库应用的条件下而不愿意做更高效的软件系统,选择向客户出售昂贵的硬件。当然这种现实存在的前提,就是客户对数据库应用根本不了解。本来做数据库应用的调整,可能只需要几万块钱的成本,结果购买硬件却花费了数百万元。

这种现象在国内目前还不少,反映出来的就是客户整体数据库应用水平太低,甚至连基本的概念也没有,所以会花很多冤枉钱。而作为应用系统提供商的设计和开发者,往往因为做的软件系统不好却被顺水推舟靠硬件来扩展应用规模。

互联网极大地推进了技术的整体提升速度,让人与人之间能更方便地共享经验,并且知识和经验迅速积累,为后来者提供了良好的学习环境。但由于大环境的急功近利的特性,能潜心研究数据库应用的人在相对数量上也不多。
在2001年左右,数据库应用基本处于起步阶段,那时候大家都停留在简单的概念的理解和探讨水平,对于数据库应用开发也非常的简单。在2002年之后数据库的研究在一些专业论坛逐步火了起来,如itpub等,这个时期一批新人迅速崛起,成为了国内数据库专业论坛的骨干力量,在2004年左右开始到现在这批人基本代表了国内数据库管理和应用的顶尖水平。根据目前的情况分析,大约有0.1%的人是真正的数据库专家,10%左右的人能设计和开发关键应用,或者管理维护关键数据库。大约20%的人能满足一般应用的设计和维护要求,其他人基本只能做简单的开发和简单维护。当然这只是我的一个感性的认识,不是严格调查的数据。

2、结合你的工作与项目经历,请谈谈数据库工程师在应用上面对的难点。

数据库工程师在应用上的技术难点,最重要的在于如何预测系统上线后能满足性能要求,并且系统的表现确实跟自己的期望一致。要实现这些目标,专业上的知识可以通过一系列的学习和培训来达到,经验可以通过不断的项目来积累,相对来说还不是最困难的,我要说的难点却是非技术的角度。

一个人或许具备丰富的数据库设计和开发经验,也具备丰富的数据库管理知识,但是,却未必算的上优秀的数据库工程师。这个问题的关键在于,需要和应用打交道的数据库工程师,除了具备专业素质外,必须具备良好的沟通能力、亲和力,还要知道正确的做事情的方法。

这个现象,在我工作的过程中,体会非常深刻。曾经有一个同事,专业知识很不错,工作也很严谨、认真,但就是沟通欠佳。他所负责维护的数据库,由于比较频繁地发布新应用,而他因为沟通方面的问题,总是难以让应用设计和开发者认真考虑他的意见,由于各方面原因,性能测试方面做的不够充分,数据库总容易出现性能问题。为此他面临了很大的压力,虽然我也尝试跟他沟通,引导他正确地跟开发设计人员沟通,但是他自己总是难以迈出去。结果后来他辞去这份工作,去了一个应用稳定(不发布新应用)的地方,专职管理数据库。

在沟通这个环节,往往是工程师的弱项。如何有效地表达自己的想法,获得对方的认同,并在实际行动上给予自己支持,除了沟通能力外,还需要一项能力,那就是找准做事情的方法。比如,有时候项目紧张,我为了实现自己的目标,会在为开发人员着想的基础上,设计出一个对他来说代价很低的解决方案,并让他明白我除了为系统性能考虑外,还为他的工作量考虑。在获得开发人员的理解和支持的情况下,还要知会对方的直接主管,告诉该主管开发人员支持我的工作,为系统的性能提升做了积极有效的工作。在系统上线后,根据系统的良好表现,做出报告,感谢相关人员的支持,让他们感受到自己的工作是卓有成效的。有了成就感,他们以后才能更好地支持我的工作。

我们很多工程师跟机器打交道或许游刃有余,但是跟人打交道就显得笨拙。所以一个数据库工程师最大的难点,就在于如何有效地发挥你的影响力,不局限于你所管理的数据库,而在于带动更多的开发团队成员,将潜在的性能问题消灭在摇篮中,这样对于数据库的管理和维护,你才能更轻松。

3、要解决这些应用难点,工程师的个人经验能起到哪些作用?数据库技术发展能起到什么作用?

要解决这些难点,当然这不是具体的某个应用难点,而是属于上上之策的一种工作方式,将自己的影响力扩大,在设计和开发阶段就影响项目,避免系统上线后面临性能问题而增加解决问题的困难程度。

要做到这一点,工程师个人的经验自然必不可少。因为要在应用的设计和开发阶段制定良好的规划,必须有大量的项目经验和深厚的数据库功底,否则一个方案自己都没有底,又如何让别人信服呢?如果自己的建议得到实施后起到了良好的作用,能增进其他成员对自己的信任感,从而逐步加强这种信任的合作关系。这样就形成一个良性循环。当然这说起来简单,实际上却是一个漫长的过程。现在很多人都具有自己的个性,一开始总是很难获得别人的信服的。处理好开发环节后,在测试过程中,数据库工程师根据自己的经验,和测试人员一起搭建合理的模拟测试环境来预测上线后的表现。

数据库技术的发展,自然也能让解决方案变的简单,减少大家的工作量,使得合作更容易。比如sql优化器更加智能,选择执行计划更准确,那么就可以让我们减少在sql tuning上消耗的时间而更专注于schema设计上。

4、您认为“2006年中国首届杰出数据库工程师评选”活动的意义?

对于“2006年中国首届杰出数据库工程师评选”活动,我认为其具有非常积极的意义。一方面让更多的人认识到数据库工程师的价值,让一些做着数据库应用但还没有专业数据库工程师的公司能意识到他们团队中还缺少了一种重要的工程师。另一方面,扩大了数据库这个专业的影响力,通过评选的标准,也给广大数据库工程师指明一个正确的方向。

评选活动结束后,在这个行业中树立了标杆,将可能对整体数据库研究水平的提高起到推动作用。其间,也许产生少量狂热爱好者进行数据库开发的研究。因为我已经知道有一些人,有这个想法,希望尝试开源数据库的研究。但由于大环境的因素,他们还没有寻找到足够的伙伴和支持。这需要我们去培育这个环境,让更多的人以数据库为职业,提升整体的数据库应用水平,也催生更多的数据库研究者。

优秀数据库工程师评选,IT168 网络采访

!585.entry

1 我注意到您发在itpub论坛上的招聘广告了,您觉得目前在国内,招聘一个满足阿里巴巴这样的大型电子商务网站应用的数据库的DBA是否容易?为什么?

招一个满意的DBA,肯定不容易,有时候长达半年也招不到一个合适的。作为新兴的行业,电子商务,数据对于我们就是生命。电子商务的特点就是信息数据主要通过计算机系统存储并通过网络传输,这样才能提高效率。这也就是说alibaba对信息系统的倚赖程度非常的高。这样对于数据库的要求就具体体现以下几点:
1:不允许丢失数据,传统行业可能还可以通过其他途径补录数据,但我们不行。甚至如电信或者移动,数据出现丢失,通常采取的做法是自己吃点亏,少收钱,用户 一般就不会有意见。 可我们不可能,因为用户的交易等信息如果丢失,是难以补偿的。

2:系统的可靠性要求非常高。如电信移动这些行业,数据库的崩溃并不立即影响电话业务。因为数据的采集有一个周期,还有缓冲,允许一定时间的延迟入库。毕竟用户也很少要求提供一分钟前的帐单明细,而出帐往往也是一个月只有那么几天。我们不行,数据库一挂,所有客户立即无法使用,也包括自己的销售队伍也无法使用。比如我们公司电话销售队伍就有好几百人, 将来有了渠道就更多了,这么多人无法工作,这样形成的直接经济损失非常的大。

3:系统性能的要求非常高。当然传统的金融、电信行业要求也很高,但是我们有很多的不同。电子商务行业的网民基本都是接受新生事务很快的、要求又多又苛刻的。在这个高速发展的时期,我们为了满足用户的需求,基本每周都要至少集中两次发布应用。这些应用有可能牵扯的面非常广。
由于应用的变化太快,造成对性能的评估和把握非常的困难。有可能一个看起来不足道的应用,就可能把系统性能拖垮。所以我们会对每一个程序员写的每一条sql都仔细审核是否满足要求。而金融、电信的系统,基本都经过相当长周期的反复测试,应用上线后一旦稳定就很少发生变化,不象我们每天都必须提高警惕。

由于数据库对于我们的重要性,所以要求自然也会非常的严格,满足条件的人自然就少。

2 您心目中理想的DBA应该具备哪些技能?

我心目中理想的DBA,可能不单单用技能二字来形容:
有开发背景,熟悉应用开发
OS非常熟悉,原理清楚
对于存储系统熟悉
熟悉流行的系统架构
精通数据库
善于学习,对不了解的问题有不达目的不罢休的精神
胆大心细、责任感强、抗压能力强、善于沟通

3 您觉得造成目前中国合格数据库人才缺乏的原因有哪些?

造成中国合格的数据库人才缺乏的根本原因,是在于整个IT大环境的不成熟。目前软件企业基本都是手工作坊居多,每天都在为明天的生存努力,或者甚至有些企业本来就是为了一两个项目而存在。那么就很少有人为了长远的规划而努力,目标仅仅是赶紧验收收款,谁还顾的了系统的性能、可靠性。而客户自身对信息系统认识不足,起步阶段,倚赖性不强,也没尝到足够的信息系统的甜头,投入也就大打折扣。这样市场上对高水平DBA的需求自然就严重不足。DBA的专业性太强,不成熟的IT公司也需要的是什么都能做的人,样样行就样样松。大环境的初级阶段和IT公司的浮躁,造成了行业人员自身也难免浮躁,使得只有真正对数据库感兴趣并且有毅力坚持的人,才能认真学习和研究数据库。
我很多朋友早先都不是做DBA的,完全是因为对数据库感兴趣并坚持研究,后来才走了这条道路。


4 您为何选择到专业论坛(itpub)发招聘帖子的方式来招揽人才?

作为国内最专业的数据库论坛,我当然选择到ITPUB发招聘信息。
itpub 是国内甚至在全世界也算的上对oracle的讨论进行最深入的论坛之一。
这里聚集了大批数据库爱好者,我也了解很多会员的状况,发个信息,如果有我觉得不错的会员给予响应,自然招聘成本就会降低很多。同时根据会员提供的ID,搜索一下他发过的帖子,就可以更清楚的了解了他的学习能力和水平,甚至根据不同时期会员的表现可以看出会员的成长状况。

5 据了解,目前中国从事数据库开发、管理的人才(包括开发人员)大约有20万,其中专职的DBA,您估计目前中国有多少?

我估计在国内专职的DBA数量应该在几千个,也许三两千。还有一部分兼职DBA,他们主要做开发和系统实施,只是顺便维护数据库。


阅读(1108) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~