Your data, Our life
English 首页
资料下载
协泰服务
客户登录
数据库管理员
 
点击这里协泰公司将与您联系
86-21-22819407
 
协泰解决方案
协泰服务
     
  数据库正变得越来越庞大、越来越复杂。数据库管理系统正被用于更多的场合, 并发挥着更多的功能。 同时,随着电子商务应用的不断推广,越来越多的数据库与互联网相连接。数据库管理因此变得愈加复杂了。 这一切对从事数据库管理的现代数据库管理员提出了新的要求。

一、互联网对数据库管理的影响

在当代,互联网的应用无所不在,极少有商务活动不受到互联网技术飞速发展的影响。的确,电子商务与传统的商务活动相比其性质已发生了很大的改变; 成功的电子商务应该总是在线的,全天候的,随时等待着为用户提供服务。这一切无一不是建立在与互联网紧密结合的强大的数据库管理系统的基础之上。

传统的数据库管理员只负责数据库的运行、性能的优化,并尽量保证实现其高可用性。与互联网的结合,无疑增加了现代数据库管理员的职责及其工作的难度。他们面临的第一个任务是最大限度地缩短数据库的停用期(downtime) 停用期分为计划外停用与计划内停用。计划外停用包括硬件故障、程序错误或病毒等;计划内停用则包括软件升级、数据库修改及日常维护。工业分析家推测计划外停用期高达80%是由应用软件的故障与人为的错误产生的, 硬件的故障与操作系统的崩溃并不常见。这种停用期更频繁地发生于错误地输入事务、不恰当的批处理操作、用错误的输入文件或参数运行程序等情形下。这些问题可以通过使用日志及软件开发商提供的有关方案得到解决; 采用高速事务恢复方案,可能使故障在不影响数据库的可用性前提下得以排除。 与计划外停用相比,计划内停用发生得更频繁,对数据库的可用性影响更大,因而更需要得到数据库管理员的注意。

停用期并非现代数据库管理员面临的唯一问题。他们还要求掌握Java。用Java开发的Web应用程序,一般都与数据库的访问相关。 所以作为数据库管理员至少必须掌握Java的基本知识。大多数数据库管理员都参与了数据库应用程序的设计或调试。大多数专家认为数据库应用程序在运行中发生的问题有70-80%是因SQL书写不当和逻辑错误引起的。如果一个数据库管理员不懂Java, 则无法参与程序的调试以优化应用程序与关系数据库的配合。 现代数据库管理员还须了解怎样用Java访问数据库。应根据具体情况选择采用JDBC或SQLJ。SQLJ能通过使用静态的SQL增强程序执行的效率,这对Java而言可能具有重要的意义。SQLJ类似植入的SQL程序,JDBC则类似于调用级的接口程序。 开发者对方法的熟悉程度也是需要考虑的因素。应用Java开发前,数据库管理员必须掌握Java,并理解JDBD与SQLJ的区别。

二、数据库的过程性管理

现代数据库管理系统除了发挥存储、管理和访问数据等核心作用外,还提供了额外的功能,整合了过程性逻辑。 典型的过程性逻辑包括存储过程、触发器、用户自定义函数,它们与数据库管理系统结合非常紧密。 数据库管理员需要对这些新的功能进行管理、设计、操作。有时数据库管理员也承担编码这些对象的任务,但这不总是最佳的解决之道。

存储过程可被认为是数据库管理系统中活的程序。存储过程将应用程序代码从客户工作站转移到了数据库服务器。 一个SQL存储过程可以包含多个SQL语句。通过使用变量和条件,能够用存储过程建立非常巨大而复杂的查询, 以非常复杂的方式更新数据库。触发器是存储在数据库管理系统中的事件驱动的过程,隶属于特定的表。 触发器可被看作是用过程逻辑书写的规则或约定的高级形式。它不能被直接调用或执行, 而是作为行为的结果由数据库管理系统自动执行的。一旦某一触发器被创建, 总是在满足更新、插入、删除等事件发生的条件时执行。存储过程、触发器、用户自定义函数如同表、 索引等其它数据库对象一样由数据库管理系统控制。但它们是过程性的而非声明性的,所以又与后者有所不同。 这些对象是否物理地驻留于数据库管理系统中,依据数据库管理系统的不同而不同。但它们总是被注册于数据库管理系统, 并保持与其的关联。

应用过程性逻辑的主要原因是为了提高复用性。它们可代替多个应用程序中的重复代码,驻留于数据库服务器的同一位置。 这可能使开发新的应用程序的工作量有所减少,并保持了应用程序的连贯性。如果对数据库多次操作都应用过程性逻辑而非多个重复的代码段, 则可确保每次操作都在执行同样的代码。

存储过程、触发器、用户自定义函数等提供的功能无疑是重要的,但它们也给管理带来了困难。管理员需要知道何时及怎样对它们进行测试。 管理数据对象是管理员的基本任务,但不能期望数据及数据库专家会调试用C、 COBOL 甚至SQL编写的函数与程序。 虽然许多公司要求数据库管理员同时也是SQL专家,但常常他们并非如此。但现代数据库管理员必须适应对过程性逻辑的管理, 这要求具有数据库及编程的两方面的知识,虽然不要求参与编程,但至少应领导对代码的评价并对数据库过程性逻辑的使用进行管理。

三、数据库管理的自动化智能化

数据库容量的增长已持续了多年。影响这种空前增长的因素很多。首先是音频、视频、图象等多媒体非结构化数据的存储数量大大增加。大多数关系数据库提供了对多媒体数据的扩展支持。非结构化数据需要的存储空间较结构化数据大得多。因此,存储多媒体无疑大幅度增加了数据库的大小。其次是是数据仓库的建立。为了便于快速访问数据仓库,同时还需创建大量相关的索引,这些都对存储空间提出了更高的要求。数据保存时间也在延长,数据库复制的次数也相应增加了。因此进一步增加了数据库的大小。

硬件的提升也刺激了数据库容量的增长。创建存储数十亿字节信息的极限数据库已成为现实,但对数据访问的速度未能与存储容量同步增加。这一缺陷虽然通过增加内存大小以缓存数据、并行数据访问技术等方法得到弥补,却也增加了数据库管理的复杂性。

数据库增大的结果导致即使采用最好最昂贵的工具也无法使其管理变得简单。一些管理任务可能不再有意义。例如当能更快地重建一个完整的数据库时, 则无需采用备份和恢复策略。

现代数据库的异质性也表现得十分鲜明。一般用户都拥有多个来自不同提供商的产品。不同的数据库产品的具体操作方法也不同。一个精通DB2的数据库管理员面对Oracle数据库可能会表现得束手无策。不同的数据库在数据定义语言(DDL),结构查询语言(SQL)及运行机制等方面也存在许多差别。例如锁在DB2中的实现与Oracle相比就存在很大的不同,这还只是一个小例子。可以想象要同时理解并掌握多个数据库的管理有多么困难。虽然可通过利用一些管理工具掩盖其中的一些差别,但作为数据库管理员仍应理解所使用的各种数据库管理系统之间的细微的区别。

至于数据库管理系统升级换代的速度更是有目共睹。升级并不仅仅意味着增加投资,对数据库管理员而言,还将面临大量移植、测试甚至重新编程的工作。

显然,作为现代数据库管理员必须掌握更多的专业技能。解决该问题的途径之一是数据库管理的自动化智能化。日常单调的数据库管理任务自动化,可使我们节省更多的时间去学习新的知识与技术。但是,仅仅简单的自动化操作是不够的,应该运用智能化的管理技术,并能对收集的数据进行复杂而全面的优化和分析。通过自动化智能化,数据库潜在的复杂性可能得到一定的简化,使数据库管理员能卓有成效地实现对现代数据库的科学管理。
 
   
Layout image
webmaster 版权所有©2008 上海协泰信息技术有限公司 | 上海协泰计算机科技有限公司
Ver 1.5