数据库工程师待遇,数据库工程师发展好吗

什么是数据库工程师?

数据库工程师(Database Engineer),是从事管理和维护数据库管理系统(DBMS) 的相关工作人员的统称,他属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。数据库工程师的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。在国外,也有公司把数据库管理员(Database Administrator ,简称DBA) 称作数据库工程师,两者的工作内容基本相同,都是保证数据库服务7*24小时的稳定高效运转,但是需要区分一下数据库工程师和数据库开发工程师(Database Developer):1) 数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发;2) 数据库工程师的主要职责是运维和管理数据库管理系统,侧重于运维管理。

数据库工程师在不同的公司不同的发展阶段有着不同的职责与定位。一般意义上的数据库工程师只是负责数据库的运营和维护,包括数据库的安装、监控、备份、恢复等基本工作,但是广义上的数据库工程师职责比这个大得多,需要复盖产品从需求设计、测试到交付上线的整个生命周期,在此过程中不仅要负责数据库管理系统的搭建和运维,更要参与到前期的数据库设计,中期的数据库测试和后期的数据库容量管理和性能优化。

对于初创公司,数据库工程师的工作可能由运维工程师来兼任,从申请域名开始,到服务器上架,配置网络设备,部署操作系统,安装数据库,设计和部署监控,防止漏洞和攻击等等。而大型公司对数据库工程师工作的要求越来越高,以下从各个维度来看数据库工程师工作的职责。

产品生命周期维度

数据库工程师负责了业务数据库从设计、测试到部署交付的全生命周期管理,各个阶段的职责包括:

1. 产品发布前

这个阶段数据库工程师的职责是数据库准入,主要包括:

1)产品的业务熟悉;

2)产品数据库设计评审:包括架构的合理性评估,存储容量和性能是否满足需求,是否需要缓存,是否需要冗余备份等,同时需要提供数据库schema设计的合理性建议以使产品能够满足上线发布并稳定运行的基本要求;

3)资源评估,包括所需的服务器资源、网络资源以及资源的分布等,同时把关产品对资源预算申请的合理性,控制服务成本;

4)资源就位,将申请的服务器及基础环境/域名准备就位。

2. 产品发布

这个阶段数据库工程师负责数据库发布的具体工作,将具体的数据库安装部署和初始化完成后并对外提供服务。对于已在线数据库的升级也属于发布范畴,这个时候的产品发布一般要保障在线发布,在不中断对外服务的情况下完成数据库的升级。对于大型复杂的变更也存在中止服务发布完成后再重新提供服务的情况,但这种情况需要数据库工程师通过尽可能的技术手段来避免。

3. 产品运行维护

这个阶段的工作重点包括:

1)监控:对数据库服务运行的状态进行实时的监控,包括数据库会话、数据库日志、数据文件碎片、表空间监控、用户访问监控等,随时发现数据库服务的运行异常和资源消耗情况;输出重要的日常数据库服务运行报表以评估数据库服务整体运行状况,发现数据库隐患;

2)备份:制定和实施数据库备份计划,灾难出现时对数据库信息进行恢复,维护适当介质上的存档或者备份数据。对数据库的备份策略要根据实际要求进行更改,数据的日常备份情况进行监控。

3)安全审计:为不同的数据库管理系统用户规定不同的访问权限,以保护数据库不被未经授权的访问和破坏。例如,允许一类用户只能检索数据,而另一类用户可能拥有更新数据和删除记录的权限。

4)故障处理:对数据库服务出现的任何异常进行及时处理,尽可能避免问题的扩大化甚至中止服务。这之前数据库工程师需要针对各类服务异常,如机房/网络故障、程序bug等问题制定处理的预案,问题出现时可以自动或手动执行预案达到止损的目的。

5)容量管理:包括数据库规模扩张后的资源评估、扩容、机房迁移、流量调度等规划和具体实施。

4. 数据库性能优化

产品对外提供服务最重要的一点是用户体验,用户体验中非常重要的是产品的可用性和响应速度。而如何用最合理的资源支持产品提供高可用和高速度的用户体验,这也是数据库工程师的重要职责。

先说下本人的情况:05年毕业于沈阳一所三流本科院校, 英语四级没有过。

1.5 年技术支持(java web项目)工作经验 (05年8月到07年1月)
1.5 年java web开发经验               (07年1月到08年6月)
1.2 年sqlserver2000数据库管理开发工作经验              (08年9月到09年12月)
0.6 年oracle数据库开发经验                            (09年12月到10年6月)
0.2 年mysql数据库开发经验                             (10年6月到至今)
期间,09年8月份,考取了oracle的oca、ocp,花了很大一笔钱,但是发现考取的证书至今对工作薪水没有任何帮助.

,真正蛋痛啊......

目前在上海,刚到新公司一个多月,做金融行业的服务性软件的数据库开发工作。

大家可以看看我的工作经历,挺杂吧,不过没有办法,一直的理想职业是oracle DBA,但是一直没有机会去做,期间有机

会做的,但是薪水太少了,由于家庭经济原因,所以一直没有转过去。

我现在想的是,如果在数据库开发工程师的职位上做好,现在28岁了,上海税后年薪8W多一点,我想在30岁时候能不能达

到税后15万呢?

简单介绍下目前自己的情况:
1,性格比较内向,不善于沟通,但是能胜任数据库开发工作。
2,不会数据挖掘不会BI不会商业智能,但是有过oracle10g、sqlserver2000、mysql5.1的开发工作,存储过程存储函数编

写,sql调优还是比较不错的,但是大数据量的调优比如TB、PB级别的调优没有做过。能,因为没有机会让我去学习去工作


3,英语烂的一塌糊涂。看专业的英文文档有点吃力,主要是单词量不足,口语就更烂了,至今读出的A与I,同事很难分清

,都以为我说的是I,但是同事嘴里说出来的I和A,我可以分清楚,郁闷,这个让我尴尬过好多次。很想去报个英语学习班

提高下,但是由于给老爸老妈买房子,现在是标准的负翁啦,近2年内是拿不出2万以上的比较好的培训班费用。

我现在考虑的是在30岁的时候,在上海能达到税后15万,有点经济实力了稳定了,就去找个女朋友,准备结婚;
目前我要如何努力,在做数据库开发这块,是否可以达到我自己的目标呢?

什么是数据库开发工程师,是写存储过程触发器之类的吧,一般我们和java开发都是同一个人 ,没分的那么细致

 (1)Oracle的权限控制。

  (2)Oracle数据库的基本概念和性能指标。

  (3)常用的数据字典视图和动态性能视图。

  (4)常用的DBMS包等等。

  (5)以RMAN为主的备份恢复,以及容灾技术,此外冷备、逻辑备也需要熟练使用。

  (6)操作系统和存储方面的知识,主要是UNIX基础命令和编写shell程序。

  (7)高级DBA需要了解更多的东西,比如数据库设计等等。

  Oracle的认证主要包括OCA、OCP、OCM等。现在的主流是OCP,不过考试价格较贵。对就业有一定程度的好处。

  DBA的就业主要是在大、中型企业。以金融、保险等行业尤甚。大型网站或游戏公司也需要DBA。因为这类行对数据的要求颇高。DBA的待遇在国外是IT从业者里较高的。即使在国内,DBA的待遇也相对好一些。因为其技术难度大于普通程序员。普通DBA一般是在8000-20000之间(如北京、上海)。乙方公司待遇要高一些,但工作较辛苦,压力很大。甲方公司待遇稍低,但福利略好,工作一般很轻松。

  女生在甲方做DBA是很受欢迎的。因为很多领导都会认为女生较细心。但乙方公司一般不大愿意招聘女生来做数据库方面的服务。

 

  甲方DBA日常的工作压力不大,较程序员小很多。但出问题的时候负担会比较重。但一般大型企业都会购买第三方或原厂的技术支持,压力会减轻很多。每年有1-2个数据库会出问题或需要做一些大的动作。而且大多数问题都是由于操作系统崩溃或者服务器当机。oracle本身运行还是相当稳定的。

一  数据库工程师的日常主要工作包括以下几点:

1.设计并优化数据库物理建设方案;

2.制定数据库备份和恢复策略及工作流程与规范;

3.在项目实施中,承担数据库的实施工作;

4.针对数据库应用系统运行中出现的问题,提出解决方案;

5.对空间数据库进行分析、设计并合理开发,实现有效管理;

6.监督数据库的备份和恢复策略的执行;

7.为应用开发、系统知识等提供技术咨询服务。

二   数据库工程师需掌握哪些知识技能?

1.数据库应用系统分析及规划:

⑴软件工程与软件生命周期

⑵数据库系统生命周期

⑶数据库开发方法与工具

⑷数据库应用体系结构

⑸数据库应用接口

2.数据库设计及实现:

⑴概念设计

⑵逻辑设计

⑶物理设计

⑷数据库对象实现及操作

3.数据库存储技术:

⑴存储与文件结构 ⑵ 索引技术

4.并发控制技术:

⑴事务管理 ⑵ 并发控制技术 ⑶ 死锁处理

5.数据库管理与维护:

⑴数据完整性

⑵数据库安全性

⑶数据库可靠性

⑷监控分析

⑸参数调整

⑹查询优化

⑺空间管理

6.数据库技术的发展与新技术:

⑴分布式数据库 ⑵ 对象数据库 ⑶ 并行数据库 ⑷ 数据仓库与数据挖掘

三   要成为优秀的数据库工程师还要掌握一些知识,比如,

(1)  掌握计算机体系结构以及各主要部件的性能和基本工作原理;

(2)  掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;

(3)  数据库技术的基本概念、原理、方法和技术;

(4)  能够使用SQL语言实现数据库操作;

(5)  具备数据库系统安装、配置及数据库管理与维护的基本技能;

(6)  掌握数据库管理与维护的基本方法;

(7)  掌握数据库性能优化的基本方法;

(8)  了解数据库应用系统的生命周期及其设计、开发过程;

(9)  了解数据库技术的最新发展;

(10) 熟悉常用的数据库管理和开发工具,具备用指定的工具管理和开发简单数据库应用系统的能力。

四   那么数据库工程师又分为哪几类呢?

数据库工程师大致分为:

(1)  数据库设计工程师 主要面向数据库建模和数据库选型,大都参与项目的前期的需求分析,数据库模型设计,表结构规划,数据流图设计工作。

(2)  数据库应用工程师 主要是数据库配置,安装,维护和调优。数据库配置,安装可以通过培训,结束后基本可以上岗的。维护就需要数据库工程师具备一定的数据库管理经历了。特别是大型数据库系统还需要工程师具备异构平台的数据交互能力,特别是熟悉Unix环境。调优就不是一般人能做的事了,需要具备sql编程经验,数据字典熟悉度,dbms系统构架方面的知识。

(3)  数据分析师 主要面向数据分析,数据挖掘,数据仓库构建,etl方面的管理。这样的人太少了,不但要懂数据库,还要懂一个行业,能够进行流程分析,最后使用一些数据挖掘工具,bi工具来做规划。

不管是哪一类数据库工程师,一般发展方向都是向更高级别的工程师方向发展,主要是以下三个发展路径:

(1)  继续从事技术专家路线。这是数据库工程师的主流发展方向,同时也可以兼顾学习并实践一些服务器(操作系统)等方面的知识,可以尝试对网络的基本原理进行了解,从而为后续成为整个基础设施方面的专家、架构师奠定基础。当然,也可以专注于数据库领域,不求广,但求精,这也是一个可选的技术路线。

(2)  转行做管理。如果觉得自己对人比对机器感兴趣,可以考虑往管理方面转型,毕竟职业发展只有和兴趣爱好吻合才能事半功倍(可以对自己的特长进行测评,作为发展定位的参考)。机会好的话,可以争取一个小项目的项目经理机会,作为转型的开始;但更多的时候,还是需要在"项目经理助理"的岗位上过渡一下。不过,技术可以转管理,但一旦转成管理,则不大可能再转回技术了。这一点需要考虑清楚。

(3) 转行做销售。对于有强烈个人成就意识或者是对金钱比较渴望的人,可以尝试转型去做做售前,再转型做销售;从工程师直接转销售的还是比较少,毕竟这是完全不同的两个领域,建议从售前开始入销售的门。不过,技术可以转销售,但一旦转成销售,则不大可能再转回技术了。这一点需要考虑清楚。

更多
  • 该日志由 于2017年06月15日发表在 未分类 分类下, 你可以发表评论,并在保留原文地址 及作者的情况下引用到你的网站或博客。
  • 本文链接: 数据库工程师待遇,数据库工程师发展好吗 | 帮助信息-动天数据
  • 版权所有: 帮助信息-动天数据-转载请标明出处
  • 【上一篇】 【下一篇】

    0 Comments.