创新谈-邹建

 

在国内,数据库管理员(英文是Database Administrator,简称DBA)算是一个新生的,或者从业人员较少的职位。本人从事DBA的职位,也仅仅有1年的时间。关于DBA应该做些什么,应该是没有一个准确的定义,根据网上的一些资料,结合自己做DBA所经历的具体事务,个人对DBA的职责概述如下:

1.    安装和升级数据库服务器(如OracleMicrosoft SQL server),以及应用程序工具;

2.    数据库设计系统存储方案,并制定未来的存储需求计划;

3.    一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)及数据库对象(tables,views,indexes),或者是指导开发人员完成这项工作;

4.    根据开发人员的反馈信息,必要的时候,修改数据库的结构;

5.    登记数据库的用户,维护数据库的安全性。

6.    保证数据库的使用符合知识产权相关法规;

7.    控制和监控用户对数据库的存取访问;

8.    监控和优化数据库的性能;

9.    监控和关注数据库系统的健康状况

10.监控数据库的稳定情况,及时处理重大问题

11.制订和实施数据库系统的维护方案;

12.制定数据库备份计划,灾难出现时对数据库信息进行恢复;

13.维护适当介质上的存档或者备份数据;

14.备份和恢复数据库;

15.联系数据库系统的生产厂商,跟踪技术信息,向开发人员传递相关的信息。

这些职责的绝大部分,体现在我们的公司中,是自我进入公司以后,在公司完成的四大系统(项目),这些系统是:

1.    数据库自动备份/恢复系统

该系统完成DBA职责中21113两点,并且解决了备份和恢复的处理需要专业DBA才能很好地完成这个蔽端

2.    数据库状态运行分析系统

该系统完成DBA职责中89两点,通过部署该系统,所有被管理的服务器的信息都被汇集在一台监控服务器上,而且这些信息经过了程序和预分析,人工只需要处理程序分析后的结果。程序的自动分析依赖于规则库,在经验的不断积累下,规则库会越来越完成,则这个系统的自动分析功能也越来越强。

在性能优化和健康状况分析方面,一般要高级DBA才能很好的完成此项工作,而监控本身却是一项费力不需要什么技术的工作,这个一般由普通的DBA完成,在部署了此系统后,普通DBA的人力被节约了,而高级DBA的经验也可以积累到规则库中,这样高级DBA可以把重复的工作不断地去掉,从而有时间研究更多深入的东西。

3.    数据库运行监控系统

该系统覆盖DBA职责中的910两点,在完成这个系统之前,需要对重要的服务器实施7X24小时的人工监控,非常消耗人力资源。而在监控中,大部分时间都是在做一些状态观察,但不能有松懈,遇到问题时,又必须要较有经验的DBA才能准确地处理,这导致了非常难安排人员。

部署此系统后,公司专门成立了一个监控团队,由监控团队统一监控(包括数据库系统之后的监控),故障出现时,根据系统预设的规则对信息进行分析,给出解决建议,并把信息发送给监控人员,监控人员根据解决建议寻找相关的专业人员解决问题。

4.    DB Move(数据库迁移项目)

该系统完成DBA职责中的345三点。

通过标准的规范,让开发人员可以编写出绝大部分合乎性能和格式需求的脚本,DBA则复核这些脚本,从专业的角度评判脚本的质量,并视情况确定是否能改写为更优秀的脚本,从而保证了发布到线上环境的脚本质量,也减小了低质量脚本进入线上环境带来的危险;同时,在这种模式下,DBA与开发人员的比例可以比较大,同时,配合培训,还可以提供开发人员在数据库方面的技能。

通过规范的流程,保证了对所有环境的修改是可管理的,将各项目组之间在修改上造成的冲突降到了最低。

通过数据库迁移工具,DBA在数据库迁移方面,脚本的语法检查,旧脚本的备份,脚本的更新等工作都是由工具自动完成的,DBA可以把精力投入到有技术要求的脚本性能检查中。

总结个人从事DBA以来所做的工作,主要是把个人的经验融入各种自动化处理系统(目前市面上数据库(特别是SQL Server)的管理工具还是比较少)中,这一点是非常重要的,因为我从事的公司有四套数据库环境,超过60台的数据库服务器,而DBA的全部人员(成都、上海、美国)不足10人,其中3人为基础在培养人DBA,开发人员超过500人,如果没有这些工具,10个人要完成DBA的工作是非常吃力的,在这些工具全部应用后,目前的人力还是有些吃紧,但普通的DBA的工作是很轻松的,可以有很多的时间用在学习上。

在创新应用、行业借鉴经验和应用难点技巧方面体现如下:

创新性应用:

Ø         使用InfoPath结合Share Point完成DB Move的所有脚本及文档信息传递

Ø         自行开发数据的数据库迁移工具,配合InfoPath脚本迁移文档(XML格式),能自动完成脚本的语法检查、脚本备份及脚本的发布,使整个数据库发布流程顺畅

Ø         使用SQL Server 2005SSIS,建立出通用的数据库运行状态框架,能高效开发和部署各种数据库运行状态信息获取程序

Ø         规划的设计出数据库监控系统的通用框架和基类,通过这个项目,能高效地开发和部署各种实时监控系统

 

行业借鉴经验:

Ø         通用数据库运行状态框架

Ø         通用监控系统框和基类

Ø         数据库脚本规范(格式和性能规范)

Ø         DBA工作的思想:重复工作自动化,建立知识库

 

应用难点技巧:

Ø         解决DBA的开发能力(全部靠T-SQL脚本写不出好的工具)

Ø         提高DBA的综合技能,特别是在SQL Server 2005下,XML、一定的开发技能,这些都是必需的

 

文章请同时提交信箱:bestdba@ciw.com.cn  mulibox@yahoo.com.cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值