讲解数据库管理员(DBA)与开发人员的关系
创始人
2024-07-23 16:50:35
0

导读:有一点很肯定,要建立最成功的信息系统,前提是数据库管理员DBA与应用开发人员之间要有一种“共生关系”,本文我将为大家介绍二者的关系。我想从开发人员的角度谈谈开发人员与DBA之间的分工(假设所有正式开发都有DBA小组的参与)。

  作为一名开发人员,你不必知道如何安装和配置软件。这应该是DBA或者系统管理员(system administrator,SA)的任务。安装Oracle Net、配置监听器、配置共享服务器、建立连接池、安装数据库、创建数据库等,这些事情我都会交给DBA/SA来做。

  一般来讲,开发人员不必知道如何对操作系统调优。我个人通常会让系统的SA负责这个任务。作为数据库应用的软件开发人员,应该能熟练地使用你选择的操作系统,但是不要求你能对它调优。

  DBA最重大的职责是数据库恢复。注意,我说的可不是“备份”,而是“恢复”。而且,我认为这也是DBA惟一重要的职责。DBA要知道回滚(rollback)和重做(redo)怎么工作,不错,这也是开发人员要了解的。DBA还要知道如何完成表空间时间点恢复,这一点开发人员不必介入。如果你能有所了解,也许以后会用得上,但是作为开发人员目前不必亲力而为。

  在数据库实例级调优,并得出最优的PGA_AGGREGATE_TARGET是什么,这一般是DBA的任务(数据库往往能帮助他们得出正确的答案)。也有一些例外情况,有时开发人员可能需要修改会话的某个设置,但是如果在数据库级修改设置,就要由DBA来负责。一般数据库并不是只支持一位开发人员的应用,而是运行着多个应用,因此只有支持所有应用的DBA才能做出正确的决定。

  分配空间和管理文件也是DBA的工作。开发人员可以对分配的空间做出估计(他们觉得需要多少空间),但是余下的都要由DBA/SA决定。

  实质上讲,开发人员不必知道如何运行数据库,他们只需要知道如何在数据库中运行。开发人员和DBA要协同解决问题,但各有分工。假设你是一位开发人员,如果你的查询用的资源太多,DBA就会来找你;如果你不知道怎么让系统跑得更快,可以去找DBA(如果应用已经得到充分调优,此时就可以完成实例级调优)。

  这些任务因环境而异,不过我还是认为存在着分工。好的开发人员往往是很糟糕的DBA,反之亦然。在我看来,他们的能力不同、思路不同,而且个性也不同。很自然地,人们都爱做自己最喜欢的工作,而且能越做越好,形成良性循环。如果一个人比较喜欢某项工作,他会做得更好,但是这并不是说其他工作就一定做得很糟。就我而言,我觉得我更应算是一位开发人员,但兼有DBA的许多观点。我不仅喜欢开发,也很喜欢“服务器方面”的工作(这大大提高了我的应用调优水平,而且总会有很多收获)。

数据库管理员和数据库开发员对与数据库来说都是必不可少的,没有他们数据库将会停滞不前,而且一片糟糕,更甚者会从世界中消失,所以数据库管理员和数据库开发员是要共存的。

【编辑推荐】

  1. 如何减少数据库管理开销 发挥最大功能
  2. 讲解Oracle数据库管理员的每天的任务职责
  3. 在SQL Server数据库开发中的十大问题
  4. 数据库开发中书写规范

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...