DBA是数据库管理员。数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。
DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。
在国外,也有公司把DBA称作数据库工程师(Database Engineer),两者的工作内容基本相同,都是保证数据库服务7*24小时的稳定高效运转,但是需要区分一下DBA和数据库开发工程师(Database Developer):
1、数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发;
2、DBA的主要职责是运维和管理数据库管理系统,侧重于运维管理。
职业等级:
DBA的等级并不是很严格的。按照对数据库的掌握情况,简单地分成三个等级:初级Primary、中级Intermediate和高级Senior。
初级DBA又称为DBBS,是英文Database Baby Sitter的缩写。初级DBA常常是兼职的,他们往往同时是程序员或者兼任其他的工作。初级DBA往往把个人简历写得很棒,参与了很多和数据库有关的项目或工作。但是,这些项目或者工作往往是:第三方软件供应商已经安装并配置了数据库,他们只做一些监控的工作。
他们能处理一些简单的问题,但大多数时候他们向应用软件供应商求救。初级DBA更喜欢图形化的数据库管理或者监控工具,他们喜欢Access这样的桌面数据库简单易用,并把这些小型数据库的经验简单地应用到大型数据库相关的工作中。
谁跟你说的DBA工资很高,程序员工资很低?程序员这个覆盖面太广了,你用一个"精确定位"的职位和一个广泛群体去比较,本身就没有可比性。在我认识的人中,有年薪上百万的DBA,但准确说他拿100万+干的活也不是单纯DBA的工作。同时,我同学里有系统构架师,一样也是年薪百万以上。但这些人都不具有普遍性,都已经是这个行业里在打工者这个层面的佼佼者。DBA从门槛上说我认为不高不低,你可以看看丁香园CTO发表过的一篇他的工作经历,他是非计算机专业毕业,印象中当时做过服务器管理,然后就是从Oracle DBA开始后来成为全国屈指可数的Oracle ACE Director,其实只要你付出比别人多的努力,所谓的"门槛"都是吓唬胆小者的。
现在,网络上有些数据库行业已成名的既得利益者在忽悠DBA行业前景多名好,工资多么高,但我看现实看并不是这样美好(或许他们可能还有些商业目的,比如推销培训课等)。我们公司(北京)招入的Oracle DBA,2-3年工作经验,有OCP认证,让我看DBA的基本工作都能胜任,但月薪也就税后4000多,我们同等经验年数的Java程序员,比他工资还略高。我并不认为我们给的工资低,因为如果他真能拿到1万元的Offer,我相信他早跳槽了。另外,我们也不担心他跳槽,因为拿差不多的工资预算,同样可以招来差不多水平的DBA,因为我们的HR经常收到应聘者简历。所以不能总看那些成功人士光鲜的一面,也要看看行业中的中下层的人们生活的怎样。你可能会问为什么会这样?我觉得DBA职位需求远远小于程序员,而最近很多培训机构,包括大学开课程,量产DBA造成供求失衡是个不可忽视的因素。你考虑一下,国内中小规模的软件开发公司有多少设置专职DBA?我知道的很多都是程序员兼DBA,我当年也是在PowerBuilder项目组里兼职做DBA的开始接触数据库的。那些名声显赫的银行,保险,移动,互联网公司的大牛DBA们,按楼上朋友说都是年薪很高的,但那种职位数又有多少?已经成功的人士又有几个有勇气轻易挪窝给别人让位?所以我在DBA圈子里听一些年轻工程师的抱怨是,学习了,准备了,认证也拿了,但就是找不到入行的机会...所以相对于DBA,程序员的入行职位机会可能要多很多。从你关心的待遇说,百度的一般程序员待遇可能比甲骨文DB Support的待遇要高了。
我也不列举优秀程序员的待遇了,因为讨论那些上层的待遇没有代表性,其实作为一个职业选择,还是从你的兴趣,评估你自己适合做什么出发,一旦入行,就专注去做到好,同时还需要一些机遇,甚至做一些主动选择(比如转型)和变化。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)