DBA的职责分析
摘要: DBA负责管理和维护数据库服务器,全面管理和控制数据库系统,对于任何组织而言都是一个重要的岗位。而要做好DBA就要明确其职责和应具备的技能。
关键词:数据库;DBA;职责;技能
信息时代的今天,几乎所有的组织都要使用计算机、网络等信息技术来辅助管理。对于组织而言,不管是自己开发计算机应用软件,还是购买第三方应用软件,只要使用到数据库,就需要确定DBA(DataBase Administrator,数据库管理员)。DBA是一(多)个负责管理和维护数据库服务器的人,负责全面管理和控制数据库系统,要做好DBA就要明确其职责和应具备的技能。
一、DBA的类型
DBA按工作的侧重点大致可分为三种类型:
1、软件开发型
该类DBA主要致力于软件开发领域数据库的分析、设计和实现。
2、性能优化型
DBA的主要任务是针对一些大型数据库管理系统,如ORACLE,通过调整系统参数来提高性能。
3、业务管理型
管理和维护数据库涉及的相关业务,保证数据库中的数据完整、可靠、安全是该类DBA的主要任务,有时该类DBA更像一个管理信息系统的系统管理员。
以上三种DBA并不能严格区分,一个小的软件开发工作室和一个分工高度明细的大公司相比,DBA的职责通常会宽泛一些[1]。
二、DBA的职责分析
1、数据库的安装、配置、升级和迁移
虽然应用系统的管理员通常负责安装、维护服务器上的硬件和操作系统,不过数据库软件的安装通常是由DBA负责的。要胜任这一工作需要了解什么样的硬件配置才能使一个数据库服务器发挥最大的作用,并且还要就这些硬件需求与系统管理员进行沟通。在完成了上述工作之后,DBA就着手安装数据库软件,并从各种不同的产品配置选项中选择一个与硬件匹配的并且能使数据库效率最高的方案。当有新版本的数据库或者补丁包发布时,决定是否要用或者用哪一个升级或补丁包也是DBA的工作之一。如果购买了新的数据库服务器,那么DBA也要负责将数据从原有数据库服务器中迁移到新的服务器上来。
2、数据库的维护
(1)实施数据库变动
DBA应该实施数据库里代码的变动管理和架构变化。这个变动管理过程将允许在捕获和跟踪存储过程、视图、触发器、表格定义等随时间的变化。理论上,这些变化将被记录到原始代码贮藏库。如果任何变动影响数据库或应用的稳定,变动管理过程应该考虑不仅如何实施变动,而且也要考虑如何取消变动。
(2)数据库定期维护
DBA需要确保所有数据库是正在被维护并且良好的运行。要确保这些,DBA需要定期执行维护任务,如:改组索引、更新统计、整理数据库碎片、压缩数据库等。
数据库管理员岗位职责3、数据库的监测
DBA负责定期监测数据库服务器,从而出数据库瓶颈(使数据库性能降低的某些部分)并制定补救措施[2]。对数据库服务器的调整工作要在多个层次上完成。数据库服务器硬件的性能以及操作系统的配置都可能成为造成数据库瓶颈的因素,同样数据库软件的配置也是如此。数据库在磁盘驱动器上的物理安装方式以及索引的选择对于数据库的性能也有影响。数据库查询的编码方式也可能显著改变查询结果返回的快慢程度。DBA需要了解在上述各个层次需要用哪些监测工具,以及如何使用它们来调整系统。从应用设计一开始把性能因素考虑在内是积极主动调整的反映,而不是等待问题发生之后再去修复它们。DBA还需要与数据库应用开发人员紧密合作,以确保应用是按照最佳方式开发出来的,并且能带来良好的性能。
4、数据库的规划
(1)建立数据库标准
为了保持整个组织的一致性,DBA应该在和应用开发者讨论的基础上建立数据库标准,并且要负责对整个组织数据库标准的建立和传达。标准建立是一个不断演变的过程,DBA应确保当新的应用技术和新数据库版本发布时,该标准能适当的调整和修改,以满足不断变化的信息技术环境。
(2)存储和容量规划
创建数据库得一个主要目就是存储和检索数据,所以规划需要多少磁盘存储空间和监测可用的磁盘存储空间是DBA的关键责任。观察数据的增长趋势也是非常重要的,因为只有这样DBA才能向组织管理层提出一个长远的存储容量规划。
(3)数据库备份和恢复规划
当数据库正在被设计和开发,DBA需要确定备份和恢复的需求,根据需求,制定一个备份和灾难恢复规划。一旦数据库建成,并且正在使用备份,那么DBA应该进行恢复测试以保证备份与补救策略的正常运作。
5、数据库的设计
(1)审查服从标准的数据库设计
在建立好数据库标准的基础上,DBA需要对每个新的数据库,或者改进的数据库进行审查以确定它们符合数据库标准。如果数据库不符合标准,DBA应该记录这个特殊数据库不符合标准的原因。
(2)物理数据库设计
在有些环境DBA也会被要求进行实际的数据库设计,以确保数据库设计符合插入,更新、删除和输出数据的数据需求,。
(3)数据库安全设计
DBA应该考虑开发简化安全管理的方法并且提供最灵活的构架[3]。DBA必须了解所用数据库产品的详细安全模型、该数据库产品的用途、以及如何使用它来有效地控制数据存取。DBA最基本的三个安全任务是验证(设置用户帐号、控制用户登录数据库)、授权(对数据库的各部分设置权限,防止非法用户访问)、审计(跟踪用户执行了什么数据库操作)。
6、数据库的开发
(1)建设自动化的预定数据库加载和数据传输机制
数据库中并不是所有的数据都是通过屏幕输入。DBA必须精通数据装载和提取的方法。他们需要能设计和建立提取、装载并且转移数据的自动化的过程。
(2)数据库代码审查
当应用程序被建立,DBA应该同应用程序员对代码进行审查。这些代码审查将有助于确保代码符合标准和使用的最佳的算法。理论上,在开发周期的早期代码审查就应该进行。
三、DBA的一些特殊技能
除了上述基本职责外,处于当前数据库技术发展阶段中的DBA,由于某些特殊的数据库环境,还需要掌握一些特别的技能:
1、确保数据库的高可用性
当前很多数据库的应用都是不间断的,在这种环境下管理数据库,DBA需要知道哪些类型的维护业务可以在线(不中断数据库运行的情况下)完成,以及在数据库有可能关闭时制定一
个维护“期限”。此外,DBA还要规划冗余的数据库硬件和软件组件,以便万一数据库出现故障时,冗余系统仍然能够继续向用户提供服务。DBA可以使用在线备份、集、复制和应急数据库等技术和工具确保更高的可用性。
2、管理大型数据库(VLDB)
随着数据库技术的发展,组织希望用数据库来保存更多的数据,此外,数据库存储的数据类型也发生了变化,从过去行列整齐的结构化数据发展现在的非结构化数据,比如文件、图像、声音、甚至指纹,这些趋势带来的结果就是大型数据库(VLDB)的出现。要管理 VLDB,DBA需要特殊的技能。过去被认为是非常简单的操作比如复制一个表,所需要的时间可能是非常巨大的。为了保证数据库扩展到非常大的规模时仍然是可管理的,DBA需要了解一些技术,比如表分割(Oracle)、联合数据库(SQL Server)和复制(MySQL)等。
3、数据提取、转化和加载(ETL)
在数据仓库环境中,一个非常关键的任务是如何有效地加载数据仓库中的大量数据,而这些数据是从多个现有的业务系统中提取的。通常情况下,这些业务系统的格式与数据仓库中
的标准化定义是不同的,所以数据在加载之前必须要转化(或“清洗”)。要完成此项任务, DBA应与业务分析员一起讨论ETL过程的组织需求。
从以上对DBA的每项职责分析可以看出,实际上DBA需要跟各种人员打交道,这些人员可能是销售商、用户、开发人员或者管理人员,所以要做个优秀的DBA,除了技术能力,还应该具有自信心、好奇心、坚韧的意志力、自我驱动、注意细节等特点。
参考文献:
[1]百度文库.数据库管理员[EB/OL] 2011.3.21,
wenku.baidu/view/c5bf900f52ea551810a687a6.html
[2]Joel Siegel,Jae Shim.数据库管理系统:管理人员必读[M]北京:清华大学出版社,2014.
[3]C.J.Date.数据库系统导论[M]北京:机械工业出版社,2000.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论