2011年(93)
分类:
2011-07-20 16:14:13
有人问起DBA职业的一些问题,于是就整理一下个人的一些看法与建议,供同学们参考。
1、数据库管理与开发职位
数据库管理与开发其实是数据库两个不同的方向。
数据库管理就是我们通常说的DBA,主要工作是做数据库安装、管理、调优、备份,主要技术点是除了对数据库本身比较熟悉外,还要对硬件(主机、存储、网络)、操作系统有较好的理解,否则很难做到资深。
数据库开发是一个比较泛的说法,一般人理解是指涉及到数据库应用的开发,如常见的数据库用oracle,sqlserver,mysql,开发语言用java,.net,php等等的项目开发。
还有一种说法是采用数据库系统上的语言进行开发工作,这类一般是指专注于数据库技术开发的人员,如ETL工程师(数据库抽取、传输、加载,是数据仓库应用的一部份),如果系统中的存储过程非常多,那也可能会设置专注从事数据库存储过程逻辑的开发工程师。
有些大型公司,对数据库应用比较深入,可能会设置专业的DBA从事开发顾问工作,主要责任是与项目组一起进行系统的数据库结构设计、SQL相关的开发优化,这类DBA要求对系统业务有一定了解,对数据库开发与优化也比较熟悉,对这种职位每个公司的名称可能不一样,有些公司还是称为DBA或数据库开发工程师,阿里巴巴公司称为开发DBA或应用DBA。
2、应届毕业生与DBA职位
应届毕业生要从事DBA工作门坎比较高,因为DBA职位是需要有一定实践经验的人员,应届生很难录用,除非你的特长刚好是公司需要的:比如说你在学校从事的项目或课题中有较深入的数据库相关应用,你在数据库方向又有很好的理解。或者你没有做过DBA,但是学校里参与设计过数据库系统,对数据库实现原理很了解。
表面上看DBA是从事数据库管理工作,不需要软件开发技能,但是随着个人的发展,你需要经常与开发人员打交道,需要写代码模拟开发人员访问数据库的CASE,还需要做一些新技术的测试学习,所以在DBA成长的过程中,开发技能也是必不可少的。实际上,90%的DBA都是从事了一段时间开发工作后才转型为DBA岗位。
所以对于应届生,我不建议直接挑战DBA岗位,最好还是先从事一段时间开发工作,如果对数据库管理的工作比较感兴趣,可以在工作过程中不断学习数据库知识,帮助团队解决数据库的问题,当决定转型为DBA或者是工作中有明确的DBA需求后,再选择从数据库概念、功能、管理、开发、调优逐步系统的学习数据库知识,多做测试与实践,在专业论坛中处理更多的问题。
3、数据库学习方法
关于数据库学习的方法,一定要理论加实践,光看书是没用的,而且会让人感觉投入多收益少,开始时多做测试,掌握常用的功能,在工作中或网络上解决实际的问题,学习别人解决问题的方法,对于不理解或不熟悉的知识点自己要亲自实践,解决的问题多了,自然就会感觉水平提高。接着会发现水平提高得越来越慢,这时反过来从更基础的层面系统的学习数据库知识,把一些以前没理解的问题从基础学习后再REVIEW一次。经过这两个阶段你差不多就算是入行了。