有人问起DBA职业的一些问题,于是就整理一下个人的一些看法与建议,供同学们参考。
1、数据库管理与开发职位
数据库管理与开发其实是数据库两个不同的方向。
数据库管理就是我们通常说的DBA,主要工作是做数据库安装、管理、调优、备份,主要技术点是除了对数据库本身比较熟悉外,还要对硬件(主机、存储、网络)、操作系统有较好的理解,否则很难做到资深。
数据库开发是一个比较泛的说法,一般人理解是指涉及到数据库应用的开发,如常见的数据库用DB2、Oracle,sqlserver,mysql,informix。开发语言用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、是否应该参加数据库培训
对于相关的培训,我前几年也考试通过,目的只是为了提高自己的数据库基础知识,希望自己能更系统一点的了解主流数据库,全部是自学后参加考试,后来没有去拿证,因为拿证要交很大的一笔培训费用。数据库相关培训的价格应该都不低,外界的认可度也没以前好,因为现在认证考试基本上很容易通过。去参加数据库培训也并不一定能学到多少东西,更重要的是个人的兴趣与环境。如果你真想提高自己,而且有经济基础,那可以选择参加数据库培训,但前提是你要具备一定的基础再去,因为培训的时间一般很短,要想在培训的时间内消化基本上不太可能,所以最好先拿认证试题测试一下自己的能力,如果你连题目的意思都不理解或者里面的概念都没听过那还是花一些时间再自学一下吧。
4、数据库学习方法
关于数据库学习的方法,一定要理论加实践,光看书是没用的,而且会让人感觉投入多收益少,开始时多做测试,掌握常用的功能,在工作中或网络上解决实际的问题,学习别人解决问题的方法,对于不理解或不熟悉的知识点自己要亲自实践,解决的问题多了,自然就会感觉水平提高。接着会发现水平提高得越来越慢,这时反过来从更基础的层面系统的学习数据库知识,把一些以前没理解的问题从基础学习后再REVIEW一次。经过这两个阶段你差不多就算是入行了。
5、关于网络上一些很INTERNAL的文章
网络上经常有许多深入数据库底层相关的文章与讨论,让很多初学者望而却步,这些知识很难掌握,但并不表示这些知识很重要,因为我们学习知识主要目的是解决问题,而不是表现自己。所以建议初学者不需要花时间去了解那些数据库不太公开的技术内容,因为这些内容变化得较快,实践当中也遇到得较少,很多也是BUG 问题,对于大部人或文章作者更多也可能只是猜测或者片面的介绍(当然,有些作者还是研究得很深入也很系统),所以就算你了解了也不确定什么时候能用上,并且知识不用就很容易忘记。等有一天你正式当上DBA后,并且开始管理超过TB级的数据库时,再去讨论这些所谓INTERNAL的知识吧。[@more@]
1、数据库管理与开发职位
数据库管理与开发其实是数据库两个不同的方向。
数据库管理就是我们通常说的DBA,主要工作是做数据库安装、管理、调优、备份,主要技术点是除了对数据库本身比较熟悉外,还要对硬件(主机、存储、网络)、操作系统有较好的理解,否则很难做到资深。
数据库开发是一个比较泛的说法,一般人理解是指涉及到数据库应用的开发,如常见的数据库用DB2、Oracle,sqlserver,mysql,informix。开发语言用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、是否应该参加数据库培训
对于相关的培训,我前几年也考试通过,目的只是为了提高自己的数据库基础知识,希望自己能更系统一点的了解主流数据库,全部是自学后参加考试,后来没有去拿证,因为拿证要交很大的一笔培训费用。数据库相关培训的价格应该都不低,外界的认可度也没以前好,因为现在认证考试基本上很容易通过。去参加数据库培训也并不一定能学到多少东西,更重要的是个人的兴趣与环境。如果你真想提高自己,而且有经济基础,那可以选择参加数据库培训,但前提是你要具备一定的基础再去,因为培训的时间一般很短,要想在培训的时间内消化基本上不太可能,所以最好先拿认证试题测试一下自己的能力,如果你连题目的意思都不理解或者里面的概念都没听过那还是花一些时间再自学一下吧。
4、数据库学习方法
关于数据库学习的方法,一定要理论加实践,光看书是没用的,而且会让人感觉投入多收益少,开始时多做测试,掌握常用的功能,在工作中或网络上解决实际的问题,学习别人解决问题的方法,对于不理解或不熟悉的知识点自己要亲自实践,解决的问题多了,自然就会感觉水平提高。接着会发现水平提高得越来越慢,这时反过来从更基础的层面系统的学习数据库知识,把一些以前没理解的问题从基础学习后再REVIEW一次。经过这两个阶段你差不多就算是入行了。
5、关于网络上一些很INTERNAL的文章
网络上经常有许多深入数据库底层相关的文章与讨论,让很多初学者望而却步,这些知识很难掌握,但并不表示这些知识很重要,因为我们学习知识主要目的是解决问题,而不是表现自己。所以建议初学者不需要花时间去了解那些数据库不太公开的技术内容,因为这些内容变化得较快,实践当中也遇到得较少,很多也是BUG 问题,对于大部人或文章作者更多也可能只是猜测或者片面的介绍(当然,有些作者还是研究得很深入也很系统),所以就算你了解了也不确定什么时候能用上,并且知识不用就很容易忘记。等有一天你正式当上DBA后,并且开始管理超过TB级的数据库时,再去讨论这些所谓INTERNAL的知识吧。[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25067344/viewspace-1051060/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25067344/viewspace-1051060/