DBA的特质

成为一名DBA有什么要求,或者说在招聘DBA时应看重哪些特质?这些特质可以简单地归结为两大类:技术特质和性格特质。在第一部分中,笔者就将介绍一名DBA应有的技术特质。
DBA技术特质
技术特质是指DBA执行一项任务时所需要的技能。在数据库环境的管理与维护中,技术任务可归结成许多不同的分类。下面列出了一名DBA应掌握的一些技术(排名不分先后)。
1、理解数据备份/恢复与灾难恢复
恢复已损坏的数据库是每一个DBA应掌握的最重要的技能。DBA需要完全理解数据库所有可能的备份与恢复方法,以及不同备份方法与不同恢复策略的对应关系。此外,DBA还需要与业务部门合作,一起确认业务需求,明确用户能够容忍的数据丢失底线。此外,业务用户还需要确定在系统故障情况下,他们的业务能够维持多长时间。理解这些需求可以帮助DBA开发出一个满足业务用户要求的备份/恢复方法。一个优秀的DBA要定期测试备份与恢复流程,保证他们有能力恢复业务数据,满足企业所规定的业务数据丢失与恢复要求。
2、工具集的使用
所谓工具集,指是的他们要有一组用于执行不同DBA任务的脚本。这个工具集应该包含不同的小代码片段,它们可以快速诊断问题或执行一个特定的任务。这些工具脚本应该按DBA的活动类型归类,如备份、索引维护、性能优化、容量管理等。由于总是会执行新任务、发现新问题或找到其他人开发的好用脚本,因此一个优秀的DBA会不断地给这个工具集增加新脚本。此外,他还应该了解网上哪里能够找到一些免费的工具和脚本。一个好的DBA知道什么时候可以利用其他人编写的脚本,从而节省自己的时间和改进自己的工具集。
3、知道从哪里获得帮助
即使是数据库大牛,也不可能是无所不知的,每个人都有需要寻求帮助或建议的时候。而知道从何处寻找建议是很重要的。如果一个数据库实例不能按预期方式运转,那么快速寻找新问题的解决方法也是一个重要能力。一个好的DBA知道如何快速地在网上查找一个未知问题的解决方法。此外,他们也可能已经知道了一些非常不错的网站,也知道业界专家会提供一些好建议,同时知道什么时候应该忽略一些不好的建议。你可能想象不到,确实有一些建议不值得参考。
4、知道如何使用原生性能工具
以SQL Server举例,性能是一个关键的问题,因此DBA需要知道如何修复故障和监控性能问题。现在有许多第三方性能监控工具可以帮助DBA优化性能。如果DBA只使用第三方工具,而不会使用SQL Server自带的原生工具来监控性能,那么相信很快就会出现问题。虽然使用第三方工具来监控性能也很不错,但是DBA一定要理解SQL自带的一些原生工具,如SQL Server Profiler、Database Engine Tuning Advisor、Dynamic ManagementViews、系统/扩展的存储过程、Extended Events等。许多第三方工具实际上在使用这些底层的原生工具。因此,理解这些自带的原生工具将有利于增强DBA使用第三方工具的经验。
5、研究新版本
在技术领域中,没有什么是一成不变的。每隔两三年,主流数据库厂商都会发布一个大版本的更新。DBA应该紧跟新版本所作的修改,它们可能有许多变化方法,最好的方法是迟早介入这个过程。测试版开放后马上下载和安装,尽快掌握第一手使用经验。一名好的DBA总是走在学习排头兵,总是会第一时间安装和测试新版本。这样他们就可以尽早理解新特性,然后提出一些合理的新建议,帮助组织更好地利用新版本数据库。
6、理解代码最佳实践方法
DBA应该了解如何编写高效的代码。有许多糟糕的编码实践方法会导致拙劣的性能。一名好的DBA要能够理解和识别这些糟糕的编码实践方法,知道如何修改这些烂代码,让它们变成高效代码。此外,他们还要记录下写代码的最佳实践方法,并且将这些实践方法分享给其他人。
7、持续不断地学习
数据库及其组件涉及面非常广。DBA很难理解一个技术的方方面面。DBA需要持续学习如何管理数据库。这个学习过程有很多方法。其中之一就是参加正式培训。但是,并非人人都有这样充裕的事件和金钱,也并非人人都能够放下手头工作专门出去参加正式的培训。但是,还有许多其他方法可以获得培训,而且大多数还是免费的。一名好的DBA一定要订阅一些定期发布数据库新技巧和新文章的社区网站。此外,他还应该加入一些用户组织,可以在周末参加一些当地的免费沙龙活动。
8、数据库安全性
在最近一段时间里,安全性是一个热门话题。DBA应该完全掌握如何实现数据库的安全访问。他们应该理解操作系统身份验证和数据库身份验证的区别,以及它们各自的使用场合。他们应该理解如何使用数据库角色来管理不同类型用户的安全配置。他们应该理解连接数据库的端口与协议。此外,他们还应该理解如何加密整个数据库,或者加密一个数据库中一个表的某一个字段,同时理解关于加密数据的各种问题。
9、数据库设计
决定数据库性能的一个关键问题是数据库设计。DBA需要理解关于数据库设计的各个方面。他们要能够理解设计好坏的区别。他们需要理解为什么使用正确的外键约束、主键、检查约束和使用数据类型能够保持数据库的数据完整性和实现高效的数据查询与更新。
10、索引设计
数据库索引是提高应用程序检索和更新数据速度的重要环节。DBA需要知道索引的工作原理。他们应该知道聚簇索引和非聚簇索引的区别,知道这些索引的物理存储方式。DBA应该知道如何在执行计划中使用这些索引。他们应该理解如何找到索引的使用统计、理解索引碎片及如何发现丢失的索引。他们应该知道如何维护索引,以及索引统计信息对于查询引擎的重要作用。
11、容量监控与规划
数据库往往要使用大量的资源,包括CPU、内存、I/O及磁盘空间。DBA应该理解如何监控数据库所需要的不同主机资源的用量。他们应该能够理解这些资源在不同时间的使用情况,以及利用历史使用数据来规划未来的容量需求。在监控过程中,DBA应该能够预见到容量规划会在将来什么时候出现问题,然后采取必要的措施保持数据库不会因为容量限制而出现中断。
12、数据库许可证
不同的产品有许多不同的许可证授权方式。而且,同一款产品本身又有许多不同的版本。DBA应该理解所负责的数据库版本的不同授权模式。他们应该能够提供指导如何通过合理购买授权来减少现在的数据库总拥有成本,以及如何合理利用授权方法来降低未来版本的升级成本。
13、尽可能实现自动化
DBA每天都需要执行许多的日常任务。其中一些任务需要每天执行,而另一些则每周、每月或每年执行。一名好的DBA需要理解如何高效地安排自己的时间。其中一种方法是建立工作流程,这些日常任务的自动执行。通过实现日常任务的自动化执行,DBA就可以用更多的时间去关注于数据库环境管理中遇到的严重问题。
你具备的特质越多,作为DBA的你就越优秀。成为一名成功DBA的关键是不断地学习与提高,努力去掌握更多关于如何管理和维护数据库环境的知识。

一个人成为优秀DBA的宝贵性格特质。
性格特质
什么是性格特质?它是指一个人所拥有的与众不同的品质或特征。性格特质更多是关于DBA在工作中表现出来的激情、行为方式、态度和情感。一名好的DBA会综合利用自己的性格特质与技术能力来提供优质服务,完成数据库管理以及与相关人员的协作。
下面是笔者认为比较重要的性格特质,这些只是个人认为一名DBA应具备的重要性格特质。如果你认为DBA还应该具备其他一些性格特质,那么请将它们添加到你自己的列表上。
1、解决问题的能力

作为一名DBA,你会遇到各种各样的问题。有一些跟数据库管理相关,有一些则来自开发人员。人们会将DBA视为解决问题的人,因此一名好的DBA必须具备良好的解决问题的能力。并不是说他们能够解决所有的问题,我的意思是他们懂得一些解决问题的标准方法。他们会利用自己解决问题的能力合理地发现导致问题的根源,然后开发出解决所遇到问题的方法。此外,DBA应该在解决问题过程中始终保持开放的心态,要清晰认识到任何问题都不一定只有一种解决方法。因此,他们需要客观地评估不同的解决方法,才能从中选择出最适合用于某个问题的最佳方法。
2、指导能力

理想情况下,DBA都应该是企业中最重要的一部分人员(我知道,理想与现实有一定的差距)。他们非常清楚数据库的运转方式,以及企业中各种应用程序与数据库的交互方式。一名好的DBA应该向同事分享他们的知识。他应该有必要的培训能力,并且热心分享知识,同时愿意为其他人员提供必要的指导。
3、实现自动化

有许多人需要占用DBA的时间,因此DBA的工作非常忙。为了释放自己的时间,他们应该主动去自动化一些需要手动执行的任务。让一些手动执行的任务自动执行,就可以让DBA腾出更多的时间去服务客户。一名好的DBA应该主动设计和开发一个能够监控DBA环境效率的工具。所谓环境监控工具,我的意思是指DBA不应该将自己的时间花在手动监控数据库环境上。相反,他们应该采购或开发主动监控环境,它会在数据库出现问题时自动通知DBA。DBA实现的自动化越多,可用于其他工作的时间就越多,也就有更多的时间去解决与数据库管理相关的问题。
4、寻求改进流程的方法

每一个问题很可能都会有另一种更好的解决方法。一名好的DBA应该分析每一个问题,从而发现各种不同的问题解决方法。他们应该保持开放的态度,在确定解决方法时要考虑更大的范围。在确定了所有可能的方法之后,他们再决定和实现解决问题的最佳方法。即使已经解决了问题,他们仍然有必要去寻找一些改进方法。一名优秀的DBA会不断地寻找更好的业务方法,让自己管理的环境变得越来越好。
5、遵循标准化方法

通常会有不同的方法可以设计与开发一种技术。每一位开发者都会用自己的一套方法去开发数据库对象和编写脚本。作为DBA,你应该能够开发一种标准化的数据库交互方法。DBA应该积极应用一种标准化方法来完成工作。为此,他们需要开发数据库命名规范、标准和指导原则,用来规范数据库及实例的操作。
6、态度

态度决定一切。无论事情有多糟糕,DBA都应该保持冷静和积极的态度。保持积极的态度和冷静的头脑,DBA才能更好地关注于引起数据库服务异常的问题。保持专注和冷静,DBA才有更多精力和动力去快速恢复中断的数据库服务。
7、开放心态

DBA应该积极参与到用户组或者社区的活动当中。一名好的DBA要会利用用户组或社区力量来扩展自己的人际网络,同时要给用户组或社区提供反馈信息,分享自己的知识。例如,他可以在本地用户组或一些大型活动上分享主题,比如国内的ACOUG活动或者数据库技术大会等。此外,一些优秀的DBA还会撰写技术书籍或翻译一些文章,这也是分享自己知识的好方法。
8、道德高尚

DBA需要遵循一定的道德准则。有了道德准则,DBA才能作出让客户及企业管理层放心的业务决策。DBA一定要公平公正地对待各种人,只有拥有坚强的道德基石,他们才能做到这一点。
9、正确划分工作优先级

DBA总是需要完成不同的任务。一名好的DBA要知道如何划分不同任务的优先级,从而使自己能够按时完成工作。在与客户一起确定时间计划和工作预期结果时,DBA需要利用自身的优先级划分技能。了解哪些任务能在5分钟内完成,哪些需要几天时间才能完成,他们要确保让一些简单的数据库修改顺利完成,同时又有时间去做那些需要几天时间才能完成的大任务。
10、领导能力

DBA需要成为拥有一颗领导者的心。他要有能力确定大方向,并且让团队同共朝着这个方向努力。他要主动承担分析问题和解决问题的责任,他要主动承担一些有难度的任务。DBA要主动寻找机会去领导一些与数据库相关和无关的工作。
11、沟通能力

DBA要有与客户和管理层高效沟通的能力。他们要有良好的人际交往技能,才能完成这种沟通目标。如果能够缓和客户的愤怒及不安情绪,那么他就能够快速地解决数据库的相关问题。此外,口头沟通能力也有利于向管理层作演讲和培训其他员工。另一个重要的沟通技能是倾听,有能力让客户表达他们的想法,DBA才能够理解为什么客户会花时间来表达这些想法。此外,DBA需要有良好的写作技能。这种技能可以帮助他们与客户通过邮件沟通问题,也可以帮助他们开发标准、指导或其他与数据库管理相关的文档。
12、客户服务

DBA需要有良好的客户服务技能。他要能够将技术细节转变为一种能让客户理解的对话。在与客户一起分析问题时,他要会利用这种沟通技能从客户角度去认识问题根源。当DBA与其他人合作时,他要设定完成工作的预期目标,然后尽量去按要求或超额完成这些预期目标。
仅仅只有一些技术技能还不足以让一个人成为一名好的DBA。一名好的DBA既要有良好的技术技能,也要有良好的性格基础。只有这样,他才能够与其他人高效地沟通和协作。记住,很少有DBA同时具备所有这些特质。判断一个人是否是能成为一位好的DBA,可以主要的依据是他们具备了多少的技术特质和性格特质。一个人具备的特质越多,那么他就能在DBA职业上做得更好走得更远。

转载:http://www.searchdatabase.com.cn/showcontent_84379.htm
http://www.searchdatabase.com.cn/showcontent_84382.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值