Saturday, April 19, 2008

企业如何选择和安排DBA

在每个企业的发展过程中,几乎都需要设立一个DBA的职位。问题是应该什么时候招聘公司的DBA,以及该如何选择合适的DBA。
  

如果你是一家中小型企业的老板,那么当企业发展到一定阶段时,有个问题就会摆在你面前:是否需要一个数据库管理员(DBA)?(对于这个问题,大型企业一般都会有肯定的回答。)
  

之所以会出现这个问题,主要有几种情况。比如,你的业务软件供应商建议你在使用他们的软件时,最好配备一个专业的DBA;或者随着业务的发展,你的数据库 已经大到让那些普通员工无法管理的地步了,由于普通的员工都没有真正的数据库管理经验,因此这时候你也应该考虑聘用一个专业的DBA。
  

另外,也许你是遇到了一些麻烦,才开始打算聘用一个DBA的,比如你的数据库被损坏了,而现有的员工谁也没有能力让它重新运转起来;或者你的技术人员可以 处理一些DBA的工作,但是他同时还要负责网络维护、系统管理、客户支持以及开发新应用等工作,这么多工作一个人很难应付。
  

由于以上原因,你所考虑的不再是“是否”需要一个DBA了,而是“何时”聘用一个专职的DBA来管理你的数据库。也就是说,现在的问题不是该不该聘用,而是聘用什么样的DBA以及聘用多少个DBA。
  

雇用一个DBA
  

培训自己的员工成为DBA
  

联系一个提供DBA服务的网站
  

支付一定费用,让自己企业所采用的应用程序的厂家提供相应的数据库支持
  

支付费用采用远程DBA 服
  

每一种选择都有自身的优缺点。另外,这五种选择可以适应企业发展的不同阶段的需求。随着需求的改变,现在看起来比较合适的选择,也许过一段时间就会变得不合适,因此一定要结合你的企业现有的状态来灵活确定。
  

关于聘用一个DBA
  

DBA和其他技术人员一样,也分很多种,比如没有什么经验的新手、稍有经验的、经验比较丰富的、高手,甚至是高手中的高手。当然,我们都会想到,雇用等级 越高的DBA,你需要支付的薪水也就越高。另外,由于你雇用的是正式员工,因此各种税务以及福利待遇等,都不能缺少。
  

雇用DBA的优点在于,他们是全职的,可以随时辅助你企业中的新项目,建立新的IT环境,他们会掌握你的业务情况,并壮大企业IT团队的力量。一般来说, 这个选择是所有选择中最昂贵的,它更适合规模较大或者变化较快的业务环境,或者是当你需要一个相对长期的技术团队时。
  

关于培养自己的DBA
  

将公司现有的技术人员培养成具有专业水平的DBA,不论是对于员工本人还是对于企业来说,都是个相当不错的方案。不过对于当前企业面临的急需解决的困难来 说,这个方案无法立刻见效。可以说这是为企业的未来进行投资的一种方案。这种投资方案也许非常有效,但同时它也具有很大的风险。当你的技术人员水平不断提 高,有能力成为一个出色的DBA时,他也许会对现有的工资和福利待遇感到不满,也许会有跳槽的打算。另外,如果没有一个水平更高的DBA在公司里,就很难 对其他员工实施有效的培训,而公司也必须忍耐员工的自学速度以及学习中所犯的错误。
  

现场DBA服务
  

除了雇用DBA或者培养自己的DBA外,你也可以联系一些提供现场DBA服务的公司,一般只要一个电话,他们都会在一小时内赶到帮助你解决棘手的困难。这 个方案的优势在于,DBA服务公司的服务都比较灵活,你可以在需要时才要求他们上门服务,而且可以要求短期的持续技术支持,比如在一个项目开始时让他们帮 助你完成基本数据库架构的建设。一般来说,从短期上来看,这要比雇佣一个全职的DBA廉价多了,但是如果长期需要DBA,这个方案就不太合适了。对于大多 数DBA服务公司的技术人员来说,在来到你的公司后,都会有一个了解你公司环境的过程,而你公司的一些特殊细节,他们可能并不熟悉,从未接触过。
  

应用产品厂商提供的DBA服务
  

当企业购买了一套基于数据库后台的复杂的应用程序后,厂商会提供DBA服务作为软件的配套服务,这种DBA服务也许是远程的,也许是上门服务,也许是二者结合。
  

这类服务一般都限定于只针对应用软件所使用的数据库后台。假如你的公司采用的是Microsoft SQL Server数据库管理系统,但新购进的一套软件是基于Oracle数据库的,没有员工熟悉Oracle系统,此时这种方案就非常合适了。不过从每小时的 服务成本来看,这种方案是很昂贵的,并且受到的限制也很多。
  

远程DBA 服务
  

最后一种方案是选择远程DBA服务。在这种方案中,你公司之外的数据库管理员会通过网络连接到你的数据库上进行管理。这类厂商所提供的服务范围很广,一般来说包含以下几方面:
  

针对你的数据库提供24X7的一般性维护
  

数据库调整
  

出现问题时向公司的指定人员报警
  

备份/恢复计划和服务
  

灾难恢复计划和服务
  

通过一系列工具监视数据库的每日运行状况
  

每周及每月工作状态报告
  

数据库升级咨询和具体实施
  

为企业指派全职的DBA
  

远程DBA服务的优势在于它非常适合于那些数据库环境相对稳定的企业。由于这类服务可以完全处理数据库的日常维护和备份等工作,因此你可以让公司的技术员工更专心的致力于其它新的开发项目或者更关键的问题。

远程DBA服务的成本要低于应用程序厂商提供的DBA服务或现场DBA服务。大部分远程DBA服务商都采用按月支付费用的方式,少数则采用按小时计费的方 式。不论何种方式,其成本都非常具有竞争力,因此很值得考虑。另外,由于这是一种服务,因此维护你的数据库的技术人员并不是固定的,这样就会有多个DBA 熟悉你的数据库环境,当其中一个DBA离开了远程DBA服务公司时,不至于对你的数据库维护工作产生影响。

当然,有些事情你也许要记住。首先,远程DBA服务需要依靠你的网络和硬件来支持。如果远程DBA服务的工作人员连接不上你的网络或数据库环境,他就无法帮助你管理数据库。另外,如果你的数据库采用了非常独特的技术或设备,那么远程DBA服务可能也会无能为力。

第二,如果你的数据库环境变化比较快,并且经常需要添加新的组件,那么联系一个现场DBA服务要比通过电话进行的DBA服务有效的多。

正确选择

那么到底那种方案最适合你的公司采用呢?实际上,由于公司的发展状态不同,每种方案都有合适的使用时机。你可以根据公司所处的状态从中选择一种方案或几种 方案混合使用。不论选择何种方案,最重要的是要有预见性,不要等到公司的数据库崩溃以后才开始急急忙忙的考虑DBA的问题。本文只是为你选择DBA提供了 一个参考,你可以据此更进一步考虑适合自己企业的DBA选择方法。