数据库的就业前景
数据库的就业前景
数据库作为整个系统的一部分,它的表现直接受服务器、操作系统、存储、网络、应用程序中SQL语句的质量、数据库设计的质量、以及其它诸多因素的影响,这些因素加在一起非常复杂,经验起着非常重要的作用。因此一个好的数据库工程师除了知识作为基础,经验的多寡、见识的薄广,往往决定了是否合格与优秀。
优秀的数据库工程师不仅关心自己运维的数据库系统的原理和发展,而且紧跟业界数据库前沿技术,并关注数据库领域的顶级会议。其中包括国际著名的.数据库三大会议SIGMOD、VLDB、ICDE,还有知名数据库公司Percona主办的Percona Live和Oracle主办的Open World,以及国内知名的数据库工程师盛会中国数据库技术大会(DTCC)等。
从另外一个角度说,数据库工程师工作领域对实践经验和独立工作能力要求较高,没有经过大量的动手实践是很难胜任数据库工程师相关工作的。
数据库应用开发 (application development)
除了基本的SQL方面的知识,还要对开发流程,软件工程,各种框架和开发工具等等
数据库应用开发这个方向上的机会最多,职位最多,薪水一般
数据建模专家 (data modeler)
除了基本的SQL方面的知识,非常熟悉数据库原理,数据建模
负责将用户对数据的需求转化为数据库物理设计和物理设计
这个方向上在大公司(金融,保险,研究,软件开发商等)有专门职位, 在中小公司则可能由程序员承担。
商业智能专家 (business intelligence - BI)
主要从商业应用,最终用户的角度去从数据中获得有用的信息, 涉及OLAP (online analytical processing) 需要使用SSRS, cognos, crystal report等报表工具,或者其他一些数据挖掘,统计方面的软件工具
这个方面我不熟悉,不敢乱说(以免被拍砖,呵呵)
数据构架师 (Data Architect)
主要从全局上制定和控制关于数据库在逻辑这一层的大方向, 也包括数据可用性,扩展性等长期性战略, 协调数据库的应用开发,建模,DBA之间的工作。
这个方向上在大公司(金融,保险,研究,软件开发商等)有专门职位, 在中小公司或者没有这个职位,或者由开发人员,DBA负责。
数据库管理员 (database administrator - DBA)
数据库的安装,配置,调优,备份/恢复,监控,自动化等,协助应用开发(有些职位还要求优化SQL,写存储过程和函数等)
这个方向上的职位相对少一些,但一般有点规模的公司还是会有这样的职位
数据仓库专家 (data warehouse - DW)
应付超大规模的数据,历史数据的存储,管理和使用,和商业智能关系密切,很多时候BI和DW是放在一个大类里面的,但是我觉得DW更侧重于硬件和物理层上的管理和优化。
存储工程师 (storage engineer)
专门负责提供数据存储方案,使用各种存储技术满足数据访问和存储需求,和DBA的工作关系比较密切。
对高可用性有严格要求(比如通信,金融,数据中心等)的公司通常有这种职位,这种职位也非常少。
性能优化工程师 (performance engineer)
专长数据库的性能调试和优化,为用户提供解决性能瓶颈方面的问题。
我知道至少IBM, 微软和Oracle都有专门的数据库性能实验室(database performance lab),
也有专门的性能优化工程师,负责为其数据库产品和关键应用提供这方面的技术支持。
对数据库性能有严格要求的公司(比如金融行业)可能会有这种职位。
因为针对性很强,甚至要求对多种数据库非常熟悉,所以职位极少。
高级数据库管理员 (senior DBA)
在DBA的基础上,还涉及上面3种职位的部分工作,具体包括下面这些:
对应用系统的数据(布局,访问模式,增长模式,存储要求等)比较熟悉。
对性能优化非常熟悉,可以发现并优化从SQL到硬件I/O,网络等各个层面上的瓶颈
对于存储技术相对熟悉,可能代替存储工程师的一些工作,对数据库的高可用性技术非常熟悉(比如MSSQL的集群,ORACLE RAC/FailSafe, IBM的DPF, HADR等)
对大规模数据库有效进行物理扩展(比如表分区)或者逻辑扩展(比如数据库分区,联合数据库等)
熟悉各种数据复制技术,比如单向,双向,点对点复制技术,以满足应用要求。
灾难数据恢复过程的建立,测试和执行
这种职位一般只在对数据库要求非常高并且规模非常大(比如金融,电信,数据中心等)的公司需要,而且这种公司一般有一个专门独立负责数据库的部门或组。