本节书摘来自华章社区《DBA修炼之道:数据库管理员的第一本书》一书中的第1章什么是DBA,作者(美)Craig S. Mullins,更多章节内容可以访问云栖社区“华章社区”公众号查看
第1章 Chapter 1
什么是DBA
每一家使用数据库管理系统(DBMS)管理数据的公司都需要数据库管理(DBA)组来确保能够有效地使用和部署公司的数据库。如今各种规模的企业都会至少使用一种DBMS,这使得对数据库管理员(DBA)的需求比以往任何时候都要多。然而,DBA的准则要么不容易理解,要么在推广时不能使用。
对数据库管理员(DBA)的需求比以往任何时候都要多。
关于数据库管理,有个经常说起的笑话,它可以帮助我们认识DBA的必要性和我们对DBA工作认知的不足。笑话大概是这样的:
Acme公司的CIO聘请一家管理顾问公司来帮助他们简化工作流程。为了了解Acme的工作方式,顾问与CIO进行了面谈。其中一个问题是:“嗯,我看到你们员工中有DBA,他是干什么的?”
CIO回答道:“哦,我们使用Oracle,有人跟我说,我们必须要用DBA来保证Oracle数据库长期在线。我知道,我们的一些关键业务流程如订单录入和库存会使用Oracle,我还真不知道DBA是干什么的。”CIO继续说,“请不要告诉我还要一个吧,就这个的工资我们都付不起了!”
悲哀吧,但这往往是事实,许多公司的数据库管理就是这样的状况。DBA经常会被视作一个牧师或者魔术师,他们用魔术使得数据库系统能够有效运作。如今的DBMS软件非常复杂,导致只有极少数人能够像了解基础知识(如SQL)那样了解它们。但是DBA只有了解了DBMS的复杂性,才能变得更有价值。事实上,很多时候公司内既懂数据库管理又懂开发知识的只有DBA。
DBA的角色就是公司数据资产的监护人。所以,DBA会小心翼翼地保护着他们的数据。而开发人员负责开发新的应用程序,他们会经常遇到挑战,要求快速开发,一个项目接着一个项目。很明显,两种角色和他们对工作的期望的不同,会在他们之间制造出摩擦——DBA说我要“变更控制,变更管理”,而开发人员则说我要“现在就部署”。
对DBA常有的另一个评价是他们很难相处。他们时常被视作自命不凡,拥有丰富的技术知识但人际交往能力有限。大约每一个数据库程序员都有个关于DBA的故事。这些趣闻轶事经常会以“我有个问题请教……”开头,而以“……最后他(DBA)告诉我不要打扰他了,自己去看说明书”结束。DBA在人们心中的形象不是“暖融融”的,大部分是他们的工作特点和范围所致。DBMS贯穿了整个企业,企业需要制订有效使用DBA的流程。
事实上,DBA经常不得不坐下来独自完成一些事情,这或许能够缓解他们的负面形象。许多数据库问题需要一段时间来安静地思考和分析才能够解决。所以,DBA一般不喜欢被打扰。但是,即便有一些问题需要他们独自解决,还是会有许多的问题需要团队合作。而且由于大部分的DBA拥有丰富的知识,实际上,他们的工作经常会被回答和解决问题中断,因此他们安静思考的时间会很少。
DBA的孤立行为不应该得到肯定,而应该通过培训使他们获得良好的沟通技巧。数据是应用程序的命脉。开发应用程序就是对数据的读写、分析、移动、计算和修改等。没有数据,程序就一无是处。DBA处在整个开发生命周期的核心位置——他们确保应用程序能够有效、准确地访问企业数据。通常,DBA经常和许多不同种类的人打交道,包括技术人员、程序员、终端用户、客户和领导。然而,许多DBA过于关注DBMS的内部技术细节,而忽略了提高与他们同事或客户的沟通技巧。
DBA需要学习良好的沟通技巧。
到现在,我们还没有回答本章标题的问题:什么是DBA?简短地回答:DBA是信息方面的专家,他们确保企业的日常工作正常运转,确保企业的数据库以及访问这些数据库的应用程序的有效性。
DBA是信息方面的专家,他们确保企业的日常工作正常运转,确保企业的数据库以及访问这些数据库的应用程序的有效性。
而本书,就是回答这个问题的具体答案。本书将会定义数据库管理的管理准则,并且为DBA的工作顺利进行提供练习指导。为了开始回答这个问题,本章将会提供数据库管理的概括性介绍,包括为什么把DBA作为一种职业?DBA深层次工作介绍,还有企业DBA团队的组织架构。