讲解数据库管理员(DBA)与开发人员的关系

数据库
数据库管理员是进行数据库中数据管理工作,而数据库开发人员是开发新的数据库,二者都是担负着数据库的重要任务,那么,二者之间有什么关系呢?

导读:有一点很肯定,要建立最成功的信息系统,前提是数据库管理员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. 数据库开发中书写规范
责任编辑:迎迎 来源: 希赛网
相关推荐

2018-09-25 08:33:38

数据库锁JavaSQL

2011-08-17 15:29:00

2019-07-17 17:00:29

数据库数据库管理员DBA

2020-04-17 13:08:11

Nginx命令开发Linux

2020-04-20 09:42:31

Nginx命令开发Linux

2020-04-20 08:08:33

Nginx命令开发Linux

2016-10-14 19:30:21

云计算云数据库数据库

2016-11-09 13:46:00

云数据库

2024-11-27 16:12:44

2022-04-02 11:49:54

分布式数据库Java

2022-08-31 15:45:57

Django数据库优化

2011-03-15 13:06:06

Oracle数据库管理员

2011-03-15 13:25:41

Oracle数据库管理员维护

2020-05-07 07:47:12

git命令Linux开发

2012-07-27 10:17:05

开发

2011-03-15 11:34:43

Oracle数据库管理员任务

2022-07-14 08:01:59

数据库web映射器

2015-08-07 09:54:26

升职开发者管理者

2020-12-21 09:00:00

数据库MySQL技术

2010-08-09 16:09:25

点赞
收藏

51CTO技术栈公众号