如何管理DBA团队

日期: 2013-09-03 作者:张亮亮 来源:TechTarget中国

对DBA技术团队而言,他们首要的任务就是要为管理者提供决策过程中必要的参考数据。 通常,管理者要从包含有工作类别和团队任务的Excel或项目计划着手开始他们的工作。要做好这一点,管理者需要知道DBA的工作是具有可变性的。有些工作是有固定的工作量,因此可以预先规划好。

还有一些是充满不可预期因素的,变数较多。换句话说就是DBA们是处于何种状态,被动还是主动? 有些工作往往较为固定,通常是可以轻易进行分配和规划的。而另外一些工作在时间上是随机的,可控性较差。这样一来,也就很难估计需要的工作量。

DBA团队主管会根据DBA资源的水平来分配固定的工作,以便分配足够的时间来应对那些灵活度较高的重要工作,如……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

DBA技术团队而言,他们首要的任务就是要为管理者提供决策过程中必要的参考数据。

通常,管理者要从包含有工作类别和团队任务的Excel或项目计划着手开始他们的工作。要做好这一点,管理者需要知道DBA的工作是具有可变性的。有些工作是有固定的工作量,因此可以预先规划好。还有一些是充满不可预期因素的,变数较多。换句话说就是DBA们是处于何种状态,被动还是主动?

如何管理DBA团队

有些工作往往较为固定,通常是可以轻易进行分配和规划的。而另外一些工作在时间上是随机的,可控性较差。这样一来,也就很难估计需要的工作量。

DBA团队主管会根据DBA资源的水平来分配固定的工作,以便分配足够的时间来应对那些灵活度较高的重要工作,如生产方面的问题和突发事件。经验丰富的主管还会用图表来显示未来数月的资源消耗情况,这对于分配DBA资源和可支配时间都是很有参考价值的。

用这种方法来管理工作和分配资源的好处在于,DBA会致力于把可变的,非标准化的工作转化为固定的,可规划的工作,从而脱离被动工作的状态。这样一来,呈现在管理者面前的不可控因素会更少,他们可以更为容易地支配DBA资源。

团队任务分配:通才

主管一般是根据工作复杂度,时间表,服务水平协议以及DBA的专业知识来给DBA们分配工作的。有些DBA往往是通才,新手们一上来并不会知道自己擅长于哪个领域,经过一段时间磨练之后才会显现出特殊的才能。而对于通才,标准化的工作对他们来说是最合适不过的了。

例如数据库的备份和恢复。尽管很少有人实际测试了对象的恢复时间或者分析备份程序是否足以应对他们的恢复需求,但大多数的IT部门还是采用定期标准化的备份程序。备份和恢复相关的工作对很适合这些通才,这其中包括:

  • 创建标准化流程以保证所有的数据库对象(表和索引)拥有当前的镜像副本和恢复程序。
  • 测试关键对象的恢复时间并记录结果。
  • 与任何应用新表的开发团队进行沟通以确保可以在初期阶段捕获并记录未来的备份和恢复需求。
  • 检查为数据恢复准备的软硬件新选项。例如,DB2允许对索引做副本镜像。

实现部署自动化控制也同样适合于这部分DBA。基于DBMS的程序让系统可以自我诊断并自我调优。它们可以涵盖简单的脚本到复杂的程序,并可以应用到应用系统或是支持软件上。

DB2 z/0S环境下一个很好的例子就是实时统计。DB2动态生成这些数据分布统计信息。自调系统程序控制的一个范例是在执行Reorg功能的时候进行实时统计,查询所得结果会用来决定是否执行Reorg。

简单的报表流程自动化也适合这部分DBA。实现自动化使得DBA团队能够将更多精力放在高附加值的工作上,比如细化的系统性能调优,质量控制,潜在新应用程序和项目的成本/收益检查等。管理者明白,如果一个DBA花费时间在琐碎的工作上就代表着生产力的浪费。

这里有一个很有代表性的列表,罗列了很多DBA们仍然在手动进行但实际上是可以自动化流程所取代的:

  • 为SQL访问路径分析执行一个EXPLAIN流程。
  • 创建性能报告,如系统管理工具(SMF),会计以及统计信息报告。
  • 验证新表的列名和属性遵循标准规范并符合企业数据模型和数据字典。
  • 验证对生产数据的访问是通过正确的权限授予从而加以适当控制的。
  • 监视应用程序的线程活动以防死锁和超时。
  • 检查控制台日志和DB2地址空间日志以应对错误消息或是潜在问题。

有了自动化,DBA就可以对数据收集和报表生成进行规划,以便日后分析之用。还可以把提出需求者想要的东西准确地呈现给他们。这样一来,DBA就可以从冗繁的工作中解放出来,创造出更多的时间给项目、架构、规划和系统调优等更主动性的工作。

为了实现自动化,DBA需要学习一种或是多种自动化工具和语言。例如REXX是一个广受欢迎的语言,它可以在线或批量访问DB2数据。

团队任务分配:专才

对于DBA专才,较为复杂的任务就是为他们准备的。管理者一方面会分配诸如系统调优或是应用迁移之类的工作给那些专才,因为他们知识储备充分且能轻松搞定类似的工作。另一方面也会分配这些任务给那些有意愿在大牛队友作为指导或是导师的情况下来提高自身技术的人。

说的更明白一些,专才适合的工作往往需要不同领域的专业知识,比如:

  • 为关键业务应用团队做技术支持,职务往往是首席DBA
  • 搜集与特定应用程序相关的一套SQL或表,并分析在性能调优方面的可能性,如创建额外的索引
  • 创建一系列的性能度量,以便在DBMS或是应用程序发生重大改变前后衡量资源利用率变化

还有一项对专才来说合适的任务就是创建仪表盘,为管理者提供性能指标的可视化程序。

在DBMS环境下,一些简单的衡量指标,如表,索引和列的数量可以用于生产,而花在项目上的工时数可以集中在单一维度的任务上。仪表盘可以随着时间的推移搜集并显示数据,可以让人看到发展趋势和工程量方面的需求,同时还能预测是否会出现问题或资源短缺的情况。

为仪表盘搜集数据的工作通常会有以下几方面的属性:

  • 用户属性:包括应用交易频率,数据吞吐量,以及切实感受到的事务运行时间。
  • 系统属性:包括资源利用率(CPU、DASD等),高性能访问路径的可用性(如:索引),以及以聚集为代表的数据分布统计信息。
  • DBA属性:此方面是特定于DBA人员的,包括对重构和复制等功能的调度,还包括一些DBA对表,SQL和应用程序熟悉程度的主观因素。

总结

由于在一个团队中成员所具有专业技能的层次和级别参差不齐,管理者可以考虑针对DBA团队成员的类型来分配工作,能有效提升工作效率。可以让DBA各得其所,同时对提高团队整体水平有帮助。

作者

张亮亮
张亮亮

TechTarget特邀编辑。毕业于北京邮电大学网络技术研究院。熟悉软件开发测试的各个环节和流程,对操作系统,数据库,计算机网络等有较为深入的理解。现就职于中国电子科技集团公司下属研究所,从事软件研发工作。热衷于英文的学习交流,平时喜欢户外运动,音乐,电影。

相关推荐

  • 数据库管理最佳实践:DBA团队能力的平衡

    IT经理在构建数据库管理团队的时候往往面对的是一个艰巨的任务。从原始数据库开发到系统运维标准的最终建立,整个过程需要许多不同的技术能力。

  • 分析数据库规范性

    作为DBA,我们负责的领域比以前更加宽泛了。我们一开始只是进行数据库维护的相关工作,但现在我们不得不考虑更多关于数据库规范性的问题。